v2g_serviceDataTypes.h 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814
  1. /*
  2. * Copyright (C) 2007-2011 Siemens AG
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU Lesser General Public License as published
  6. * by the Free Software Foundation, either version 3 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. /*******************************************************************
  18. *
  19. * @author Sebastian.Kaebisch.EXT@siemens.com
  20. * @version 0.5
  21. * @contact Joerg.Heuer@siemens.com
  22. *
  23. * <p>Code generated by EXISeGen</p>
  24. *
  25. ********************************************************************/
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. #ifndef SERVICEDATATYPES_H
  30. #define SERVICEDATATYPES_H
  31. #include "EXITypes.h"
  32. enum faultCodeType
  33. {
  34. ParsingError_faultCodeType,
  35. V2GProtocolVersionNotSupported_faultCodeType,
  36. NoTLSRootCertificatAvailable_faultCodeType,
  37. UnknownError_faultCodeType
  38. };
  39. enum responseCodeType
  40. {
  41. OK_responseCodeType,
  42. FAILED_UnknownError_responseCodeType,
  43. OK_NewSessionEstablished_responseCodeType,
  44. OK_OldSessionJoined_responseCodeType,
  45. FAILED_UnknownSession_responseCodeType,
  46. FAILED_SessionEstablishmentError_responseCodeType,
  47. FAILED_NoServicesOfThisType_responseCodeType,
  48. FAILED_NoServicesInThisScope_responseCodeType,
  49. FAILED_NoServicesOfThisTypeScope_responseCodeType,
  50. FAILED_NoServicesFound_responseCodeType,
  51. FAILED_ServiceSelectionInvalid_responseCodeType,
  52. FAILED_PaymentSelectionInvalid_responseCodeType,
  53. FAILED_PaymentDetailsInvalid_responseCodeType,
  54. OK_CertificateExpiresSoon_responseCodeType,
  55. FAILED_CertificateExpired_responseCodeType,
  56. FAILED_CertificateRevoked_responseCodeType,
  57. FAILED_NoRootCertificate_responseCodeType,
  58. FAILED_CertificateCryptoError_responseCodeType,
  59. FAILED_SignatureError_responseCodeType,
  60. FAILED_NetworkError_responseCodeType,
  61. FAILED_ServerNotFoundError_responseCodeType,
  62. FAILED_TimeOut_responseCodeType,
  63. FAILED_NoCertificateAvailable_responseCodeType,
  64. FAILED_ContractCanceled_responseCodeType,
  65. FAILED_BatteryNotCompatible_responseCodeType,
  66. FAILED_LineLockNotApplied_responseCodeType,
  67. FAILED_PowerDeliveryNotApplied_responseCodeType,
  68. FAILED_TariffSelectionInvalid_responseCodeType,
  69. FAILED_ChargingProfileInvalid_responseCodeType,
  70. FAILED_EVSEPresentVoltageToLow_responseCodeType,
  71. FAILED_NotReady_responseCodeType,
  72. FAILED_PrepaidLimitsExceeded_responseCodeType,
  73. FAILED_ChargingSystemIncompatibility_responseCodeType,
  74. FAILED_EVSE_Malfunction_responseCodeType,
  75. NoData_responseCodeType
  76. };
  77. enum serviceCategoryType
  78. {
  79. PEVRechargeCharge_serviceCategoryType,
  80. RemoteCustomerSupportRCS_serviceCategoryType,
  81. Internet_serviceCategoryType,
  82. ContractCertificateUpdate_serviceCategoryType,
  83. ContractCertificateInstalation_serviceCategoryType,
  84. OtherCustom_serviceCategoryType
  85. };
  86. enum paymentOptionType
  87. {
  88. Contract_paymentOptionType,
  89. ExternalPayment_paymentOptionType
  90. };
  91. enum EVSESupportedEnergyTransferType
  92. {
  93. AC_single_phase_core_EVSESupportedEnergyTransferType,
  94. AC_three_phase_core_EVSESupportedEnergyTransferType,
  95. DC_core_EVSESupportedEnergyTransferType,
  96. DC_extended_EVSESupportedEnergyTransferType,
  97. DC_combo_core_EVSESupportedEnergyTransferType,
  98. DC_dual_EVSESupportedEnergyTransferType,
  99. AC_core_DC_extended_EVSESupportedEnergyTransferType,
  100. AC_single_DC_core_EVSESupportedEnergyTransferType,
  101. AC_single_phase_three_phase_core_DC_extended_EVSESupportedEnergyTransferType,
  102. Reserved_9_EVSESupportedEnergyTransferType,
  103. Reserved_A_EVSESupportedEnergyTransferType,
  104. Reserved_B_EVSESupportedEnergyTransferType,
  105. Reserved_C_EVSESupportedEnergyTransferType,
  106. Reserved_D_EVSESupportedEnergyTransferType,
  107. Reserved_E_EVSESupportedEnergyTransferType,
  108. Undetermined_EVSESupportedEnergyTransferType
  109. };
  110. enum PEVRequestedEnergyTransferType
  111. {
  112. AC_single_phase_core_PEVRequestedEnergyTransferType,
  113. AC_three_phase_core_PEVRequestedEnergyTransferType,
  114. DC_core_PEVRequestedEnergyTransferType,
  115. DC_extended_PEVRequestedEnergyTransferType,
  116. DC_combo_core_PEVRequestedEnergyTransferType,
  117. DC_unique_PEVRequestedEnergyTransferType,
  118. DC_reverse_PEVRequestedEnergyTransferType,
  119. AC_reverse_PEVRequestedEnergyTransferType,
  120. Reserved_8_PEVRequestedEnergyTransferType,
  121. Reserved_9_PEVRequestedEnergyTransferType,
  122. Reserved_A_PEVRequestedEnergyTransferType,
  123. Reserved_B_PEVRequestedEnergyTransferType,
  124. Reserved_C_PEVRequestedEnergyTransferType,
  125. Reserved_D_PEVRequestedEnergyTransferType,
  126. Reserved_E_PEVRequestedEnergyTransferType,
  127. Undetermined_PEVRequestedEnergyTransferType
  128. };
  129. enum unitSymbolType
  130. {
  131. h_unitSymbolType,
  132. m_unitSymbolType,
  133. s_unitSymbolType,
  134. A_unitSymbolType,
  135. Ah_unitSymbolType,
  136. V_unitSymbolType,
  137. VA_unitSymbolType,
  138. W_unitSymbolType,
  139. W_s_unitSymbolType,
  140. Wh_unitSymbolType
  141. };
  142. enum DC_PEVStatusCodeType
  143. {
  144. PEVNotReady_DC_PEVStatusCodeType,
  145. PEVEnergyTransfer_DC_PEVStatusCodeType,
  146. FAILED_RESSTemperatureInhibit_DC_PEVStatusCodeType,
  147. FAILED_PEVShiftPosition_DC_PEVStatusCodeType,
  148. FAILED_ChargerConnectorLockFault_DC_PEVStatusCodeType,
  149. PEVCabinConditioning_DC_PEVStatusCodeType,
  150. PEVRESSConditioning_DC_PEVStatusCodeType,
  151. FAILED_PEVRESSMalfunction_DC_PEVStatusCodeType,
  152. FAILED_ChargingCurrentdifferential_DC_PEVStatusCodeType,
  153. FAILED_ChargingVoltageOutOfRange_DC_PEVStatusCodeType,
  154. Reserved_A_DC_PEVStatusCodeType,
  155. Reserved_B_DC_PEVStatusCodeType,
  156. Reserved_C_DC_PEVStatusCodeType,
  157. FAILED_ChargingSystemIncompatibility_DC_PEVStatusCodeType,
  158. NoData_DC_PEVStatusCodeType
  159. };
  160. enum currencyType
  161. {
  162. AED_currencyType,
  163. AFN_currencyType,
  164. ALL_currencyType,
  165. AMD_currencyType,
  166. ANG_currencyType,
  167. AOA_currencyType,
  168. ARS_currencyType,
  169. AUD_currencyType,
  170. AWG_currencyType,
  171. AZN_currencyType,
  172. BAM_currencyType,
  173. BBD_currencyType,
  174. BDT_currencyType,
  175. BGN_currencyType,
  176. BHD_currencyType,
  177. BIF_currencyType,
  178. BMD_currencyType,
  179. BND_currencyType,
  180. BOB_currencyType,
  181. BRL_currencyType,
  182. BSD_currencyType,
  183. BTN_currencyType,
  184. BWP_currencyType,
  185. BYR_currencyType,
  186. BZD_currencyType,
  187. CAD_currencyType,
  188. CDF_currencyType,
  189. CHF_currencyType,
  190. CLP_currencyType,
  191. CNY_currencyType,
  192. COP_currencyType,
  193. CRC_currencyType,
  194. CUP_currencyType,
  195. CVE_currencyType,
  196. CZK_currencyType,
  197. DJF_currencyType,
  198. DKK_currencyType,
  199. DOP_currencyType,
  200. DZD_currencyType,
  201. EEK_currencyType,
  202. EGP_currencyType,
  203. ERN_currencyType,
  204. ETB_currencyType,
  205. EUR_currencyType,
  206. FJD_currencyType,
  207. FKP_currencyType,
  208. GBP_currencyType,
  209. GEL_currencyType,
  210. GHS_currencyType,
  211. GIP_currencyType,
  212. GMD_currencyType,
  213. GNF_currencyType,
  214. GTQ_currencyType,
  215. GYD_currencyType,
  216. GWP_currencyType,
  217. HKD_currencyType,
  218. HNL_currencyType,
  219. HRK_currencyType,
  220. HTG_currencyType,
  221. HUF_currencyType,
  222. IDR_currencyType,
  223. ILS_currencyType,
  224. INR_currencyType,
  225. IQD_currencyType,
  226. IRR_currencyType,
  227. ISK_currencyType,
  228. JMD_currencyType,
  229. JOD_currencyType,
  230. JPY_currencyType,
  231. KES_currencyType,
  232. KGS_currencyType,
  233. KHR_currencyType,
  234. KMF_currencyType,
  235. KPW_currencyType,
  236. KRW_currencyType,
  237. KWD_currencyType,
  238. KYD_currencyType,
  239. KZT_currencyType,
  240. LAK_currencyType,
  241. LBP_currencyType,
  242. LKR_currencyType,
  243. LRD_currencyType,
  244. LSL_currencyType,
  245. LTL_currencyType,
  246. LVL_currencyType,
  247. LYD_currencyType,
  248. MAD_currencyType,
  249. MDL_currencyType,
  250. MGA_currencyType,
  251. MKD_currencyType,
  252. MMK_currencyType,
  253. MNT_currencyType,
  254. MOP_currencyType,
  255. MRO_currencyType,
  256. MUR_currencyType,
  257. MVR_currencyType,
  258. MWK_currencyType,
  259. MXN_currencyType,
  260. MYR_currencyType,
  261. MZN_currencyType,
  262. NAD_currencyType,
  263. NGN_currencyType,
  264. NIO_currencyType,
  265. NOK_currencyType,
  266. NPR_currencyType,
  267. NZD_currencyType,
  268. OMR_currencyType,
  269. PAB_currencyType,
  270. PEN_currencyType,
  271. PGK_currencyType,
  272. PHP_currencyType,
  273. PKR_currencyType,
  274. PLN_currencyType,
  275. PYG_currencyType,
  276. QAR_currencyType,
  277. RON_currencyType,
  278. RSD_currencyType,
  279. RUB_currencyType,
  280. RWF_currencyType,
  281. SAR_currencyType,
  282. SBD_currencyType,
  283. SCR_currencyType,
  284. SDG_currencyType,
  285. SEK_currencyType,
  286. SGD_currencyType,
  287. SHP_currencyType,
  288. SKK_currencyType,
  289. SLL_currencyType,
  290. SOS_currencyType,
  291. SRD_currencyType,
  292. STD_currencyType,
  293. SVC_currencyType,
  294. SYP_currencyType,
  295. SZL_currencyType,
  296. THB_currencyType,
  297. TJS_currencyType,
  298. TMM_currencyType,
  299. TND_currencyType,
  300. TOP_currencyType,
  301. TRY_currencyType,
  302. TTD_currencyType,
  303. TWD_currencyType,
  304. TZS_currencyType,
  305. UAH_currencyType,
  306. UGX_currencyType,
  307. USD_currencyType,
  308. UYU_currencyType,
  309. UZS_currencyType,
  310. VEF_currencyType,
  311. VND_currencyType,
  312. VUV_currencyType,
  313. WST_currencyType,
  314. XAF_currencyType,
  315. XAG_currencyType,
  316. XAU_currencyType,
  317. XCD_currencyType,
  318. XDR_currencyType,
  319. XOF_currencyType,
  320. XPD_currencyType,
  321. XPF_currencyType,
  322. XPT_currencyType,
  323. XXX_currencyType,
  324. YER_currencyType,
  325. ZAR_currencyType,
  326. ZMK_currencyType,
  327. ZWR_currencyType
  328. };
  329. enum tariffDescriptionType
  330. {
  331. Standard_charge_tariffDescriptionType,
  332. Fast_charge_tariffDescriptionType,
  333. Green_charge_tariffDescriptionType,
  334. Grid_friendly_charge_tariffDescriptionType,
  335. Freely_parameterisable_charge_tariffDescriptionType,
  336. Charge_under_reserve_tariffDescriptionType
  337. };
  338. enum DC_EVSEStatusCodeType
  339. {
  340. EVSE_Shutdown_DC_EVSEStatusCodeType,
  341. UtilityInterruptEvent_DC_EVSEStatusCodeType,
  342. IsolationMonitoringInternal_DC_EVSEStatusCodeType,
  343. IsolationMonitoringActive_DC_EVSEStatusCodeType,
  344. EVSE_EmergencyShutdown_DC_EVSEStatusCodeType,
  345. Reserved_8_DC_EVSEStatusCodeType,
  346. Reserved_9_DC_EVSEStatusCodeType,
  347. Reserved_A_DC_EVSEStatusCodeType,
  348. Reserved_B_DC_EVSEStatusCodeType,
  349. Reserved_C_DC_EVSEStatusCodeType
  350. };
  351. struct arraylen_sessionIDType
  352. {
  353. size_t data;
  354. };
  355. struct sessionIDType
  356. {
  357. uint8_t data[8];
  358. struct arraylen_sessionIDType arraylen;
  359. };
  360. struct selection_SessionInformationType
  361. {
  362. unsigned int ServiceSessionID:1;
  363. unsigned int ProtocolVersion:1;
  364. };
  365. struct arraylen_protocolVersionType
  366. {
  367. size_t data;
  368. };
  369. struct protocolVersionType
  370. {
  371. uint32_t data[5];
  372. struct arraylen_protocolVersionType arraylen;
  373. };
  374. struct SessionInformationType
  375. {
  376. struct sessionIDType SessionID;
  377. struct sessionIDType ServiceSessionID;
  378. struct protocolVersionType ProtocolVersion;
  379. struct selection_SessionInformationType isused;
  380. };
  381. struct selection_NotificationType
  382. {
  383. unsigned int FaultCode:1;
  384. unsigned int FaultMsg:1;
  385. };
  386. struct arraylen_faultMsgType
  387. {
  388. size_t data;
  389. };
  390. struct faultMsgType
  391. {
  392. uint32_t data[64];
  393. struct arraylen_faultMsgType arraylen;
  394. };
  395. struct NotificationType
  396. {
  397. enum faultCodeType FaultCode;
  398. struct faultMsgType FaultMsg;
  399. struct selection_NotificationType isused;
  400. };
  401. struct selection_MessageHeaderType
  402. {
  403. unsigned int Notification:1;
  404. unsigned int Security:1;
  405. };
  406. struct arraylen_service_string
  407. {
  408. size_t data;
  409. };
  410. struct service_string
  411. {
  412. uint32_t data[128];
  413. struct arraylen_service_string arraylen;
  414. };
  415. struct CanonicalizationMethodType
  416. {
  417. struct service_string attr_Algorithm;
  418. };
  419. struct SignatureMethodType
  420. {
  421. struct service_string attr_Algorithm;
  422. };
  423. struct DigestMethodType
  424. {
  425. struct service_string attr_Algorithm;
  426. };
  427. struct arraylen_DigestValueType
  428. {
  429. size_t data;
  430. };
  431. struct DigestValueType
  432. {
  433. uint8_t data[128];
  434. struct arraylen_DigestValueType arraylen;
  435. };
  436. struct ReferenceType
  437. {
  438. struct DigestMethodType DigestMethod;
  439. struct DigestValueType DigestValue;
  440. struct service_string attr_URI;
  441. };
  442. struct SignedInfoType
  443. {
  444. struct CanonicalizationMethodType CanonicalizationMethod;
  445. struct SignatureMethodType SignatureMethod;
  446. struct ReferenceType Reference;
  447. };
  448. struct arraylen_SignatureValueType
  449. {
  450. size_t data;
  451. };
  452. struct SignatureValueType
  453. {
  454. uint8_t data[128];
  455. struct arraylen_SignatureValueType arraylen;
  456. };
  457. struct X509IssuerSerialType
  458. {
  459. struct service_string X509IssuerName;
  460. int64_t X509SerialNumber;
  461. };
  462. struct arraylen_service_byte
  463. {
  464. size_t data;
  465. };
  466. struct service_byte
  467. {
  468. uint8_t data[128];
  469. struct arraylen_service_byte arraylen;
  470. };
  471. struct X509DataType
  472. {
  473. struct X509IssuerSerialType X509IssuerSerial;
  474. struct service_byte X509SKI;
  475. struct service_string X509SubjectName;
  476. struct service_byte X509Certificate;
  477. struct service_byte X509CRL;
  478. };
  479. struct KeyInfoType
  480. {
  481. struct X509DataType X509Data;
  482. struct service_string attr_Id;
  483. };
  484. struct selection_SignatureType
  485. {
  486. unsigned int KeyInfo:1;
  487. };
  488. struct SignatureType
  489. {
  490. struct SignedInfoType SignedInfo;
  491. struct SignatureValueType SignatureValue;
  492. struct KeyInfoType KeyInfo;
  493. struct service_string attr_Id;
  494. struct selection_SignatureType isused;
  495. };
  496. struct selection_SecurityType
  497. {
  498. unsigned int Signature:1;
  499. };
  500. struct SecurityType
  501. {
  502. struct SignatureType* Signature;
  503. struct selection_SecurityType isused;
  504. };
  505. struct MessageHeaderType
  506. {
  507. struct SessionInformationType SessionInformation;
  508. struct NotificationType Notification;
  509. struct SecurityType Security;
  510. struct selection_MessageHeaderType isused;
  511. };
  512. struct arraylen_pevIDType
  513. {
  514. size_t data;
  515. };
  516. struct pevIDType
  517. {
  518. uint32_t data[32];
  519. struct arraylen_pevIDType arraylen;
  520. };
  521. struct selection_SessionSetupReqType
  522. {
  523. unsigned int PEVID:1;
  524. };
  525. struct SessionSetupReqType
  526. {
  527. struct pevIDType PEVID;
  528. struct selection_SessionSetupReqType isused;
  529. };
  530. struct selection_BodyType
  531. {
  532. unsigned int SessionSetupReq:1;
  533. unsigned int SessionSetupRes:1;
  534. unsigned int ServiceDiscoveryReq:1;
  535. unsigned int ServiceDiscoveryRes:1;
  536. unsigned int ServiceDetailReq:1;
  537. unsigned int ServiceDetailRes:1;
  538. unsigned int ServicePaymentSelectionReq:1;
  539. unsigned int ServicePaymentSelectionRes:1;
  540. unsigned int PaymentDetailsReq:1;
  541. unsigned int PaymentDetailsRes:1;
  542. unsigned int ContractAuthenticationReq:1;
  543. unsigned int ContractAuthenticationRes:1;
  544. unsigned int ChargeParameterDiscoveryReq:1;
  545. unsigned int ChargeParameterDiscoveryRes:1;
  546. unsigned int PowerDeliveryReq:1;
  547. unsigned int PowerDeliveryRes:1;
  548. unsigned int MeteringStatusReq:1;
  549. unsigned int MeteringStatusRes:1;
  550. unsigned int MeteringReceiptReq:1;
  551. unsigned int MeteringReceiptRes:1;
  552. unsigned int CertificateUpdateReq:1;
  553. unsigned int CertificateUpdateRes:1;
  554. unsigned int CertificateInstallationReq:1;
  555. unsigned int CertificateInstallationRes:1;
  556. unsigned int LineLockReq:1;
  557. unsigned int LineLockRes:1;
  558. unsigned int CableCheckReq:1;
  559. unsigned int CableCheckRes:1;
  560. unsigned int PreChargeReq:1;
  561. unsigned int PreChargeRes:1;
  562. unsigned int CurrentDemandReq:1;
  563. unsigned int CurrentDemandRes:1;
  564. unsigned int WeldingDetectionReq:1;
  565. unsigned int WeldingDetectionRes:1;
  566. unsigned int TerminateChargingReq:1;
  567. unsigned int TerminateChargingRes:1;
  568. };
  569. struct arraylen_evseIDType
  570. {
  571. size_t data;
  572. };
  573. struct evseIDType
  574. {
  575. uint8_t data[32];
  576. struct arraylen_evseIDType arraylen;
  577. };
  578. struct SessionSetupResType
  579. {
  580. enum responseCodeType ResponseCode;
  581. struct evseIDType EVSEID;
  582. int32_t TCurrent;
  583. };
  584. struct arraylen_serviceScopeType
  585. {
  586. size_t data;
  587. };
  588. struct serviceScopeType
  589. {
  590. uint32_t data[64];
  591. struct arraylen_serviceScopeType arraylen;
  592. };
  593. struct selection_ServiceDiscoveryReqType
  594. {
  595. unsigned int ServiceScope:1;
  596. unsigned int ServiceType:1;
  597. };
  598. struct ServiceDiscoveryReqType
  599. {
  600. struct serviceScopeType ServiceScope;
  601. enum serviceCategoryType ServiceType;
  602. struct selection_ServiceDiscoveryReqType isused;
  603. };
  604. struct arraylen_PaymentOptionsType
  605. {
  606. size_t PaymentOption;
  607. };
  608. struct PaymentOptionsType
  609. {
  610. enum paymentOptionType PaymentOption[2];
  611. struct arraylen_PaymentOptionsType arraylen;
  612. };
  613. struct arraylen_serviceIDType
  614. {
  615. size_t data;
  616. };
  617. struct serviceIDType
  618. {
  619. uint8_t data[8];
  620. struct arraylen_serviceIDType arraylen;
  621. };
  622. struct arraylen_serviceNameType
  623. {
  624. size_t data;
  625. };
  626. struct serviceNameType
  627. {
  628. uint32_t data[32];
  629. struct arraylen_serviceNameType arraylen;
  630. };
  631. struct selection_ServiceTagType
  632. {
  633. unsigned int ServiceName:1;
  634. unsigned int ServiceCategory:1;
  635. unsigned int ServiceScope:1;
  636. };
  637. struct ServiceTagType
  638. {
  639. struct serviceIDType ServiceID;
  640. struct serviceNameType ServiceName;
  641. enum serviceCategoryType ServiceCategory;
  642. struct serviceScopeType ServiceScope;
  643. struct selection_ServiceTagType isused;
  644. };
  645. struct ServiceChargeType
  646. {
  647. struct ServiceTagType ServiceTag;
  648. int FreeService;
  649. enum EVSESupportedEnergyTransferType EnergyTransferType;
  650. };
  651. struct arraylen_ServiceTagListType
  652. {
  653. size_t Service;
  654. };
  655. struct ServiceTagListType
  656. {
  657. struct ServiceTagType Service[32];
  658. struct arraylen_ServiceTagListType arraylen;
  659. };
  660. struct selection_ServiceDiscoveryResType
  661. {
  662. unsigned int ServiceList:1;
  663. };
  664. struct ServiceDiscoveryResType
  665. {
  666. enum responseCodeType ResponseCode;
  667. struct PaymentOptionsType PaymentOptions;
  668. struct ServiceChargeType ChargeService;
  669. struct ServiceTagListType ServiceList;
  670. struct selection_ServiceDiscoveryResType isused;
  671. };
  672. struct ServiceDetailReqType
  673. {
  674. struct serviceIDType ServiceID;
  675. };
  676. struct selection_ServiceDetailResType
  677. {
  678. unsigned int ServiceCharge:1;
  679. unsigned int ServiceCertificate:1;
  680. unsigned int ServiceCustom:1;
  681. unsigned int ServiceRCS:1;
  682. unsigned int ServiceInternet:1;
  683. };
  684. struct ServiceCertificateType
  685. {
  686. struct ServiceTagType ServiceTag;
  687. int FreeService;
  688. int CertificateInstall;
  689. int CertificateUpdate;
  690. };
  691. struct ServiceDetailsType
  692. {
  693. int NO_MEMBER:1;
  694. };
  695. struct ServiceCustomType
  696. {
  697. struct ServiceTagType ServiceTag;
  698. int FreeService;
  699. struct ServiceDetailsType ServiceDetails;
  700. };
  701. struct ServiceRCSType
  702. {
  703. struct ServiceTagType ServiceTag;
  704. int FreeService;
  705. struct ServiceDetailsType ServiceDetails;
  706. };
  707. struct ServiceInternetType
  708. {
  709. struct ServiceTagType ServiceTag;
  710. int FreeService;
  711. struct ServiceDetailsType ServiceDetails;
  712. };
  713. struct ServiceDetailResType
  714. {
  715. enum responseCodeType ResponseCode;
  716. struct ServiceTagType ServiceTag;
  717. struct PaymentOptionsType PaymentOptions;
  718. struct ServiceChargeType* ServiceCharge;
  719. struct ServiceCertificateType* ServiceCertificate;
  720. struct ServiceCustomType* ServiceCustom;
  721. struct ServiceRCSType* ServiceRCS;
  722. struct ServiceInternetType* ServiceInternet;
  723. struct selection_ServiceDetailResType isused;
  724. };
  725. struct ServicePaymentSelectionReqType
  726. {
  727. enum paymentOptionType SelectedPaymentOption;
  728. struct ServiceTagListType ServiceList;
  729. };
  730. struct ServicePaymentSelectionResType
  731. {
  732. enum responseCodeType ResponseCode;
  733. };
  734. struct arraylen_contractIDType
  735. {
  736. size_t data;
  737. };
  738. struct contractIDType
  739. {
  740. uint32_t data[64];
  741. struct arraylen_contractIDType arraylen;
  742. };
  743. struct arraylen_certificateType
  744. {
  745. size_t data;
  746. };
  747. struct certificateType
  748. {
  749. uint8_t data[128];
  750. struct arraylen_certificateType arraylen;
  751. };
  752. struct arraylen_SubCertificatesType
  753. {
  754. size_t Certificate;
  755. };
  756. struct SubCertificatesType
  757. {
  758. struct certificateType Certificate[5];
  759. struct arraylen_SubCertificatesType arraylen;
  760. };
  761. struct selection_CertificateChainType
  762. {
  763. unsigned int SubCertificates:1;
  764. };
  765. struct CertificateChainType
  766. {
  767. struct certificateType Certificate;
  768. struct SubCertificatesType SubCertificates;
  769. struct selection_CertificateChainType isused;
  770. };
  771. struct PaymentDetailsReqType
  772. {
  773. struct contractIDType ContractID;
  774. struct CertificateChainType ContractSignatureCertChain;
  775. };
  776. struct arraylen_genChallengeType
  777. {
  778. size_t data;
  779. };
  780. struct genChallengeType
  781. {
  782. uint32_t data[128];
  783. struct arraylen_genChallengeType arraylen;
  784. };
  785. struct PaymentDetailsResType
  786. {
  787. enum responseCodeType ResponseCode;
  788. struct genChallengeType GenChallenge;
  789. int32_t TCurrent;
  790. };
  791. struct ContractAuthenticationReqType
  792. {
  793. struct genChallengeType GenChallenge;
  794. };
  795. struct ContractAuthenticationResType
  796. {
  797. enum responseCodeType ResponseCode;
  798. };
  799. struct AC_PEVStatusType
  800. {
  801. int ConnectorLocked;
  802. int PEVStandby;
  803. };
  804. struct FloatingValueType
  805. {
  806. int8_t Multiplier;
  807. enum unitSymbolType Unit;
  808. int16_t Value;
  809. };
  810. struct AC_PEVChargeParameterType
  811. {
  812. struct AC_PEVStatusType AC_PEVStatus;
  813. int32_t EoC;
  814. struct FloatingValueType EAmount;
  815. struct FloatingValueType PEVMaxPower;
  816. int8_t PEVMaxPhases;
  817. struct FloatingValueType PEVMaxVoltage;
  818. struct FloatingValueType PEVMinVoltage;
  819. struct FloatingValueType PEVMaxCurrent;
  820. struct FloatingValueType PEVMinCurrent;
  821. };
  822. struct selection_ChargeParameterDiscoveryReqType
  823. {
  824. unsigned int AC_PEVChargeParameter:1;
  825. unsigned int DC_PEVChargeParameter:1;
  826. };
  827. struct DC_PEVStatusType
  828. {
  829. int PEVStandby;
  830. int ConnectorLocked;
  831. int PEVReady;
  832. enum DC_PEVStatusCodeType PEVStatusCode;
  833. int8_t PEVRESSSOC;
  834. };
  835. struct selection_DC_PEVChargeParameterType
  836. {
  837. unsigned int PEVMaximumPowerLimit:1;
  838. unsigned int PEVEnergyCapacity:1;
  839. unsigned int PEVEnergyRequest:1;
  840. unsigned int FullSOC:1;
  841. unsigned int BulkSOC:1;
  842. };
  843. struct DC_PEVChargeParameterType
  844. {
  845. struct DC_PEVStatusType DC_PEVStatus;
  846. struct FloatingValueType PEVMaximumCurrentLimit;
  847. struct FloatingValueType PEVMaximumPowerLimit;
  848. struct FloatingValueType PEVMaximumVoltageLimit;
  849. struct FloatingValueType PEVEnergyCapacity;
  850. struct FloatingValueType PEVEnergyRequest;
  851. int8_t FullSOC;
  852. int8_t BulkSOC;
  853. int8_t PEVProtocolVersion;
  854. struct selection_DC_PEVChargeParameterType isused;
  855. };
  856. struct ChargeParameterDiscoveryReqType
  857. {
  858. enum PEVRequestedEnergyTransferType PEVRequestedEnergyTransferType;
  859. struct AC_PEVChargeParameterType* AC_PEVChargeParameter;
  860. struct DC_PEVChargeParameterType* DC_PEVChargeParameter;
  861. struct selection_ChargeParameterDiscoveryReqType isused;
  862. };
  863. struct arraylen_energyProviderType
  864. {
  865. size_t data;
  866. };
  867. struct energyProviderType
  868. {
  869. uint32_t data[64];
  870. struct arraylen_energyProviderType arraylen;
  871. };
  872. struct selection_ChargeParameterDiscoveryResType
  873. {
  874. unsigned int EnergyProvider:1;
  875. unsigned int TariffTable:1;
  876. unsigned int AC_EVSEChargeParameter:1;
  877. unsigned int DC_EVSEChargeParameter:1;
  878. };
  879. struct selection_TariffDescrType
  880. {
  881. unsigned int TariffDescription:1;
  882. };
  883. struct arraylen_ePriceType
  884. {
  885. size_t data;
  886. };
  887. struct ePriceType
  888. {
  889. uint32_t data[128];
  890. struct arraylen_ePriceType arraylen;
  891. };
  892. struct selection_TariffEntryType
  893. {
  894. unsigned int EPrice:1;
  895. };
  896. struct TariffEntryType
  897. {
  898. uint32_t TariffStart;
  899. int16_t TariffPMax;
  900. struct ePriceType EPrice;
  901. struct selection_TariffEntryType isused;
  902. };
  903. struct arraylen_TariffEntriesType
  904. {
  905. size_t TariffEntry;
  906. };
  907. struct TariffEntriesType
  908. {
  909. struct TariffEntryType TariffEntry[8];
  910. struct arraylen_TariffEntriesType arraylen;
  911. };
  912. struct TariffDescrType
  913. {
  914. int16_t TariffID;
  915. enum tariffDescriptionType TariffDescription;
  916. struct TariffEntriesType TariffEntries;
  917. struct selection_TariffDescrType isused;
  918. };
  919. struct arraylen_TariffTableType
  920. {
  921. size_t Tariff;
  922. };
  923. struct TariffTableType
  924. {
  925. enum currencyType Currency;
  926. struct TariffDescrType Tariff[6];
  927. enum unitSymbolType EPriceUnit;
  928. int8_t EPriceMultiplier;
  929. struct arraylen_TariffTableType arraylen;
  930. };
  931. struct AC_EVSEStatusType
  932. {
  933. int EVSEStandby;
  934. int ConnectorLocked;
  935. int PowerSwitchClosed;
  936. int RCD;
  937. int32_t ShutDownTime;
  938. int StopCharging;
  939. };
  940. struct AC_EVSEChargeParameterType
  941. {
  942. struct AC_EVSEStatusType AC_EVSEStatus;
  943. struct FloatingValueType EVSEMaxVoltage;
  944. struct FloatingValueType EVSEMinVoltage;
  945. struct FloatingValueType EVSEMaxCurrent;
  946. struct FloatingValueType EVSEMinCurrent;
  947. int8_t EVSEMaxPhases;
  948. };
  949. struct DC_EVSEStatusType
  950. {
  951. int EVSEStandby;
  952. enum DC_EVSEStatusCodeType EVSEStatusCode;
  953. };
  954. struct selection_DC_EVSEChargeParameterType
  955. {
  956. unsigned int EVSEMaximumPowerLimit:1;
  957. unsigned int EVSECurrentRegulationTolerance:1;
  958. unsigned int EVSEEnergyToBeDelivered:1;
  959. };
  960. struct DC_EVSEChargeParameterType
  961. {
  962. struct DC_EVSEStatusType DC_EVSEStatus;
  963. struct FloatingValueType EVSEMaximumCurrentLimit;
  964. struct FloatingValueType EVSEMaximumPowerLimit;
  965. struct FloatingValueType EVSEMaximumVoltageLimit;
  966. struct FloatingValueType EVSEMinimumCurrentLimit;
  967. struct FloatingValueType EVSEMinimumVoltageLimit;
  968. struct FloatingValueType EVSECurrentRegulationTolerance;
  969. struct FloatingValueType EVSEPeakCurrentRipple;
  970. struct FloatingValueType EVSEEnergyToBeDelivered;
  971. int8_t EVSEProtocolVersion;
  972. struct selection_DC_EVSEChargeParameterType isused;
  973. };
  974. struct ChargeParameterDiscoveryResType
  975. {
  976. enum responseCodeType ResponseCode;
  977. struct energyProviderType EnergyProvider;
  978. struct TariffTableType TariffTable;
  979. struct AC_EVSEChargeParameterType* AC_EVSEChargeParameter;
  980. struct DC_EVSEChargeParameterType* DC_EVSEChargeParameter;
  981. struct selection_ChargeParameterDiscoveryResType isused;
  982. };
  983. struct selection_PowerDeliveryReqType
  984. {
  985. unsigned int Tariff:1;
  986. unsigned int ChargingProfile:1;
  987. unsigned int AC_PEVPowerDeliveryParameter:1;
  988. unsigned int DC_PEVPowerDeliveryParameter:1;
  989. };
  990. struct ProfileEntryType
  991. {
  992. int32_t ChargingProfileEntryStart;
  993. int16_t ChargingProfileEntryMaxPower;
  994. };
  995. struct arraylen_ChargingProfileType
  996. {
  997. size_t ProfileEntry;
  998. };
  999. struct ChargingProfileType
  1000. {
  1001. struct ProfileEntryType ProfileEntry[128];
  1002. struct arraylen_ChargingProfileType arraylen;
  1003. };
  1004. struct AC_PEVPowerDeliveryParameterType
  1005. {
  1006. struct AC_PEVStatusType AC_PEVStatus;
  1007. };
  1008. struct selection_DC_PEVPowerDeliveryParameterType
  1009. {
  1010. unsigned int BulkChargingComplete:1;
  1011. };
  1012. struct DC_PEVPowerDeliveryParameterType
  1013. {
  1014. struct DC_PEVStatusType DC_PEVStatus;
  1015. int BulkChargingComplete;
  1016. int ChargingComplete;
  1017. struct selection_DC_PEVPowerDeliveryParameterType isused;
  1018. };
  1019. struct PowerDeliveryReqType
  1020. {
  1021. int16_t Tariff;
  1022. struct ChargingProfileType ChargingProfile;
  1023. int ReqSwitchStatus;
  1024. struct AC_PEVPowerDeliveryParameterType* AC_PEVPowerDeliveryParameter;
  1025. struct DC_PEVPowerDeliveryParameterType* DC_PEVPowerDeliveryParameter;
  1026. struct selection_PowerDeliveryReqType isused;
  1027. };
  1028. struct selection_PowerDeliveryResType
  1029. {
  1030. unsigned int AC_EVSEStatus:1;
  1031. unsigned int DC_EVSEStatus:1;
  1032. };
  1033. struct PowerDeliveryResType
  1034. {
  1035. enum responseCodeType ResponseCode;
  1036. struct AC_EVSEStatusType* AC_EVSEStatus;
  1037. struct DC_EVSEStatusType* DC_EVSEStatus;
  1038. struct selection_PowerDeliveryResType isused;
  1039. };
  1040. struct selection_MeteringStatusReqType
  1041. {
  1042. unsigned int AC_PEVStatus:1;
  1043. unsigned int DC_PEVStatus:1;
  1044. };
  1045. struct MeteringStatusReqType
  1046. {
  1047. struct AC_PEVStatusType* AC_PEVStatus;
  1048. struct DC_PEVStatusType* DC_PEVStatus;
  1049. struct selection_MeteringStatusReqType isused;
  1050. };
  1051. struct selection_MeteringStatusResType
  1052. {
  1053. unsigned int PCurrent:1;
  1054. unsigned int MeterInfo:1;
  1055. unsigned int AC_EVSEStatus:1;
  1056. unsigned int DC_EVSEStatus:1;
  1057. };
  1058. struct arraylen_meterIDType
  1059. {
  1060. size_t data;
  1061. };
  1062. struct meterIDType
  1063. {
  1064. uint32_t data[32];
  1065. struct arraylen_meterIDType arraylen;
  1066. };
  1067. struct selection_MeterInfoType
  1068. {
  1069. unsigned int MeterID:1;
  1070. unsigned int MeterPubKey:1;
  1071. unsigned int MeterReading:1;
  1072. unsigned int SigMeterReading:1;
  1073. unsigned int MeterStatus:1;
  1074. unsigned int TMeter:1;
  1075. };
  1076. struct arraylen_pubKeyType
  1077. {
  1078. size_t data;
  1079. };
  1080. struct pubKeyType
  1081. {
  1082. uint8_t data[128];
  1083. struct arraylen_pubKeyType arraylen;
  1084. };
  1085. struct AnyType
  1086. {
  1087. int NO_MEMBER:1;
  1088. };
  1089. struct MeterInfoType
  1090. {
  1091. struct meterIDType MeterID;
  1092. struct pubKeyType MeterPubKey;
  1093. struct FloatingValueType MeterReading;
  1094. struct AnyType SigMeterReading;
  1095. int16_t MeterStatus;
  1096. int32_t TMeter;
  1097. struct selection_MeterInfoType isused;
  1098. };
  1099. struct MeteringStatusResType
  1100. {
  1101. enum responseCodeType ResponseCode;
  1102. struct evseIDType EVSEID;
  1103. int32_t TCurrent;
  1104. struct FloatingValueType EVSEMaxPower;
  1105. struct FloatingValueType PCurrent;
  1106. struct MeterInfoType MeterInfo;
  1107. struct AC_EVSEStatusType* AC_EVSEStatus;
  1108. struct DC_EVSEStatusType* DC_EVSEStatus;
  1109. struct selection_MeteringStatusResType isused;
  1110. };
  1111. struct selection_MeteringReceiptReqType
  1112. {
  1113. unsigned int PEVID:1;
  1114. unsigned int TCurrent:1;
  1115. unsigned int AC_PEVStatus:1;
  1116. unsigned int DC_PEVStatus:1;
  1117. };
  1118. struct arraylen_meterSignatureType
  1119. {
  1120. size_t data;
  1121. };
  1122. struct meterSignatureType
  1123. {
  1124. uint8_t data[128];
  1125. struct arraylen_meterSignatureType arraylen;
  1126. };
  1127. struct MeteringReceiptReqType
  1128. {
  1129. struct pevIDType PEVID;
  1130. struct evseIDType EVSEID;
  1131. struct sessionIDType SessionID;
  1132. struct MeterInfoType MeterInfo;
  1133. int32_t TCurrent;
  1134. int16_t Tariff;
  1135. struct meterSignatureType ReceiptSignature;
  1136. struct AC_PEVStatusType* AC_PEVStatus;
  1137. struct DC_PEVStatusType* DC_PEVStatus;
  1138. struct selection_MeteringReceiptReqType isused;
  1139. };
  1140. struct selection_MeteringReceiptResType
  1141. {
  1142. unsigned int AC_EVSEStatus:1;
  1143. unsigned int DC_EVSEStatus:1;
  1144. };
  1145. struct MeteringReceiptResType
  1146. {
  1147. enum responseCodeType ResponseCode;
  1148. struct AC_EVSEStatusType* AC_EVSEStatus;
  1149. struct DC_EVSEStatusType* DC_EVSEStatus;
  1150. struct selection_MeteringReceiptResType isused;
  1151. };
  1152. struct CertificateUpdateReqType
  1153. {
  1154. struct CertificateChainType ContractSignatureCertChain;
  1155. struct certificateType ContractEncryptionCert;
  1156. struct contractIDType ContractID;
  1157. };
  1158. struct arraylen_signaturePrivateKeyType
  1159. {
  1160. size_t data;
  1161. };
  1162. struct signaturePrivateKeyType
  1163. {
  1164. uint8_t data[128];
  1165. struct arraylen_signaturePrivateKeyType arraylen;
  1166. };
  1167. struct arraylen_encryptionPrivateKeyType
  1168. {
  1169. size_t data;
  1170. };
  1171. struct encryptionPrivateKeyType
  1172. {
  1173. uint8_t data[128];
  1174. struct arraylen_encryptionPrivateKeyType arraylen;
  1175. };
  1176. struct CertificateUpdateResType
  1177. {
  1178. enum responseCodeType ResponseCode;
  1179. struct CertificateChainType ContractSignatureCertChain;
  1180. struct signaturePrivateKeyType ContractSignaturePrivateKey;
  1181. struct CertificateChainType ContractEncryptionCertChain;
  1182. struct encryptionPrivateKeyType ContractEncryptionPrivateKey;
  1183. struct contractIDType ContractID;
  1184. int8_t RetryCounter;
  1185. };
  1186. struct CertificateInstallationReqType
  1187. {
  1188. struct certificateType OEMProvisioningCert;
  1189. };
  1190. struct CertificateInstallationResType
  1191. {
  1192. enum responseCodeType ResponseCode;
  1193. struct CertificateChainType ContractSignatureCertChain;
  1194. struct pubKeyType ContractSignaturePrivateKey;
  1195. struct CertificateChainType ContractEncryptionCertChain;
  1196. struct encryptionPrivateKeyType ContractEncryptionPrivateKey;
  1197. struct contractIDType ContractID;
  1198. };
  1199. struct LineLockReqType
  1200. {
  1201. struct AC_PEVStatusType AC_PEVStatus;
  1202. int ReqLockStatus;
  1203. };
  1204. struct LineLockResType
  1205. {
  1206. enum responseCodeType ResponseCode;
  1207. struct AC_EVSEStatusType AC_EVSEStatus;
  1208. };
  1209. struct CableCheckReqType
  1210. {
  1211. struct DC_PEVStatusType DC_PEVStatus;
  1212. };
  1213. struct CableCheckResType
  1214. {
  1215. enum responseCodeType ResponseCode;
  1216. struct DC_EVSEStatusType DC_EVSEStatus;
  1217. };
  1218. struct PreChargeReqType
  1219. {
  1220. struct DC_PEVStatusType DC_PEVStatus;
  1221. struct FloatingValueType PEVRESSVoltage;
  1222. struct FloatingValueType PEVTargetVoltage;
  1223. struct FloatingValueType PEVDemandCurrent;
  1224. struct FloatingValueType VoltageDifferential;
  1225. };
  1226. struct PreChargeResType
  1227. {
  1228. enum responseCodeType ResponseCode;
  1229. struct DC_EVSEStatusType DC_EVSEStatus;
  1230. struct FloatingValueType EVSEPresentVoltage;
  1231. };
  1232. struct selection_CurrentDemandReqType
  1233. {
  1234. unsigned int PEVMaximumVoltageLimit:1;
  1235. unsigned int PEVMaximumCurrentLimit:1;
  1236. unsigned int PEVMaximumPowerLimit:1;
  1237. unsigned int BulkChargingComplete:1;
  1238. unsigned int RemainingTimeToFullSoC:1;
  1239. unsigned int RemainingTimeToBulkSoC:1;
  1240. };
  1241. struct CurrentDemandReqType
  1242. {
  1243. struct DC_PEVStatusType DC_PEVStatus;
  1244. struct FloatingValueType ChargeCurrentRequest;
  1245. struct FloatingValueType PEVMaximumVoltageLimit;
  1246. struct FloatingValueType PEVMaximumCurrentLimit;
  1247. struct FloatingValueType PEVMaximumPowerLimit;
  1248. int BulkChargingComplete;
  1249. int ChargingComplete;
  1250. struct FloatingValueType RemainingTimeToFullSoC;
  1251. struct FloatingValueType RemainingTimeToBulkSoC;
  1252. struct FloatingValueType PEVTargetVoltage;
  1253. struct FloatingValueType CurrentDifferential;
  1254. struct FloatingValueType VoltageDifferential;
  1255. struct selection_CurrentDemandReqType isused;
  1256. };
  1257. struct selection_CurrentDemandResType
  1258. {
  1259. unsigned int EVSEMaximumVoltageLimit:1;
  1260. unsigned int EVSEMaximumCurrentLimit:1;
  1261. unsigned int EVSEMaximumPowerLimit:1;
  1262. };
  1263. struct CurrentDemandResType
  1264. {
  1265. enum responseCodeType ResponseCode;
  1266. struct DC_EVSEStatusType DC_EVSEStatus;
  1267. struct FloatingValueType EVSEPresentVoltage;
  1268. struct FloatingValueType EVSEPresentCurrent;
  1269. int EVSECurrentLimitAchieved;
  1270. int EVSEVoltageLimitAchieved;
  1271. int EVSEPowerLimitAchieved;
  1272. struct FloatingValueType EVSEMaximumVoltageLimit;
  1273. struct FloatingValueType EVSEMaximumCurrentLimit;
  1274. struct FloatingValueType EVSEMaximumPowerLimit;
  1275. struct selection_CurrentDemandResType isused;
  1276. };
  1277. struct WeldingDetectionReqType
  1278. {
  1279. struct DC_PEVStatusType DC_PEVStatus;
  1280. };
  1281. struct WeldingDetectionResType
  1282. {
  1283. enum responseCodeType ResponseCode;
  1284. struct DC_EVSEStatusType DC_EVSEStatus;
  1285. struct FloatingValueType EVSEPresentVoltage;
  1286. };
  1287. struct TerminateChargingReqType
  1288. {
  1289. struct DC_PEVStatusType DC_PEVStatus;
  1290. };
  1291. struct TerminateChargingResType
  1292. {
  1293. enum responseCodeType ResponseCode;
  1294. struct FloatingValueType EVSEPresentVoltage;
  1295. };
  1296. struct BodyType
  1297. {
  1298. struct SessionSetupReqType* SessionSetupReq;
  1299. struct SessionSetupResType* SessionSetupRes;
  1300. struct ServiceDiscoveryReqType* ServiceDiscoveryReq;
  1301. struct ServiceDiscoveryResType* ServiceDiscoveryRes;
  1302. struct ServiceDetailReqType* ServiceDetailReq;
  1303. struct ServiceDetailResType* ServiceDetailRes;
  1304. struct ServicePaymentSelectionReqType* ServicePaymentSelectionReq;
  1305. struct ServicePaymentSelectionResType* ServicePaymentSelectionRes;
  1306. struct PaymentDetailsReqType* PaymentDetailsReq;
  1307. struct PaymentDetailsResType* PaymentDetailsRes;
  1308. struct ContractAuthenticationReqType* ContractAuthenticationReq;
  1309. struct ContractAuthenticationResType* ContractAuthenticationRes;
  1310. struct ChargeParameterDiscoveryReqType* ChargeParameterDiscoveryReq;
  1311. struct ChargeParameterDiscoveryResType* ChargeParameterDiscoveryRes;
  1312. struct PowerDeliveryReqType* PowerDeliveryReq;
  1313. struct PowerDeliveryResType* PowerDeliveryRes;
  1314. struct MeteringStatusReqType* MeteringStatusReq;
  1315. struct MeteringStatusResType* MeteringStatusRes;
  1316. struct MeteringReceiptReqType* MeteringReceiptReq;
  1317. struct MeteringReceiptResType* MeteringReceiptRes;
  1318. struct CertificateUpdateReqType* CertificateUpdateReq;
  1319. struct CertificateUpdateResType* CertificateUpdateRes;
  1320. struct CertificateInstallationReqType* CertificateInstallationReq;
  1321. struct CertificateInstallationResType* CertificateInstallationRes;
  1322. struct LineLockReqType* LineLockReq;
  1323. struct LineLockResType* LineLockRes;
  1324. struct CableCheckReqType* CableCheckReq;
  1325. struct CableCheckResType* CableCheckRes;
  1326. struct PreChargeReqType* PreChargeReq;
  1327. struct PreChargeResType* PreChargeRes;
  1328. struct CurrentDemandReqType* CurrentDemandReq;
  1329. struct CurrentDemandResType* CurrentDemandRes;
  1330. struct WeldingDetectionReqType* WeldingDetectionReq;
  1331. struct WeldingDetectionResType* WeldingDetectionRes;
  1332. struct TerminateChargingReqType* TerminateChargingReq;
  1333. struct TerminateChargingResType* TerminateChargingRes;
  1334. struct selection_BodyType isused;
  1335. };
  1336. struct AnonType_V2G_Message
  1337. {
  1338. struct MessageHeaderType* Header;
  1339. struct BodyType Body;
  1340. };
  1341. struct EXIDocumentType
  1342. {
  1343. struct AnonType_V2G_Message V2G_Message;
  1344. };
  1345. #endif
  1346. #ifdef __cplusplus
  1347. }
  1348. #endif