1
0

v2g_serviceDataTypes.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991
  1. /*
  2. * Copyright (C) 2007-2010 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.2
  21. * @contact Joerg.Heuer@siemens.com
  22. *
  23. ********************************************************************/
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27. #ifndef SERVICEDATATYPES_H
  28. #define SERVICEDATATYPES_H
  29. #include "EXITypes.h"
  30. enum faultCodeType
  31. {
  32. ParsingError,
  33. V2GProtocolVersionNotSupported,
  34. UnknownError
  35. };
  36. enum eventEntryType
  37. {
  38. InitiateSessionSetup,
  39. InitiateServiceDiscovery,
  40. InitiatePowerDiscovery,
  41. InitiateLineLock,
  42. InitiatePowerDelivery,
  43. InitiateInitiateMeteringStatus
  44. };
  45. enum responseCode_SessionSetupType
  46. {
  47. OK_SessionSetup,
  48. OK_NewSessionEstablished,
  49. OK_OldSessionJoined,
  50. FAILED_UnknownSession,
  51. FAILED_SessionEstablishmentError,
  52. FAILED_UnknownError_InSessionSetup
  53. };
  54. enum serviceTypeType
  55. {
  56. PEV_Recharge,
  57. Remote_Customer_Support,
  58. Internet,
  59. Other
  60. };
  61. enum responseCode_ServiceDiscoveryType
  62. {
  63. OK_ServiceDiscovery,
  64. FAILED_NoServicesOfThisType,
  65. FAILED_NoServicesInThisScope,
  66. FAILED_NoServicesOfThisTypeScope,
  67. FAILED_NoServicesFound,
  68. FAILED_UnknownError_InServiceDiscovery
  69. };
  70. enum responseCode_ServicePaymentSelectionType
  71. {
  72. OK_ServicePaymentSelection,
  73. FAILED_ServiceSelectionInvalid,
  74. FAILED_PaymentSelectionInvalid,
  75. FAILED_UnknownError_InServicePaymentSelection
  76. };
  77. enum responseCode_PaymentDetailsType
  78. {
  79. OK_PaymentDetails,
  80. FAILED_PaymentDetailsInvalid,
  81. FAILED_UnknownError
  82. };
  83. enum unitMultiplierType
  84. {
  85. d,
  86. c,
  87. m,
  88. micro,
  89. n,
  90. p,
  91. k,
  92. M,
  93. G,
  94. T,
  95. none
  96. };
  97. enum unitSymbolType
  98. {
  99. A,
  100. deg,
  101. F,
  102. g,
  103. h,
  104. H,
  105. Hz,
  106. Hz_1,
  107. J,
  108. J_s,
  109. kg_J,
  110. min,
  111. N,
  112. C,
  113. ohm,
  114. Pa,
  115. rad,
  116. s,
  117. S,
  118. s_1,
  119. V,
  120. V_VAr,
  121. VA,
  122. VAh,
  123. VAr,
  124. VArh,
  125. W,
  126. W_Hz,
  127. W_s,
  128. Wh,
  129. Ah
  130. };
  131. enum responseCode_PowerDiscoveryType
  132. {
  133. OK_PowerDiscovery,
  134. FAILED_UnknownError_InPowerDiscovery
  135. };
  136. enum tariffIDType
  137. {
  138. Standard_charge,
  139. Fast_charge,
  140. Green_charge,
  141. Grid_friendly_charge,
  142. Freely_parameterisable_charge,
  143. Charge_under_reserve
  144. };
  145. enum responseCode_LineLockType
  146. {
  147. OK_LineLock,
  148. FAILED_LineLockNotApplied,
  149. FAILED_UnknownError_InLineLock
  150. };
  151. enum responseCode_PowerDeliveryType
  152. {
  153. OK_PowerDelivery,
  154. FAILED_PowerDeliveryNotApplied,
  155. FAILED_TariffSelectionInvalid,
  156. FAILED_ChargingProfileInvalid,
  157. FAILED_UnknownError_InPowerDelivery
  158. };
  159. enum responseCode_MeteringStatusType
  160. {
  161. OK_MeteringStatus,
  162. FAILED_UnknownError_InMeteringStatus
  163. };
  164. enum responseCode_MeteringReceiptType
  165. {
  166. OK_MeteringReceipt,
  167. FAILED_UnknownError_MeteringReceipt
  168. };
  169. struct arraylen_SessionInformationType_SessionID
  170. {
  171. size_t data;
  172. };
  173. struct SessionInformationType_SessionID
  174. {
  175. uint8_t data[8];
  176. struct arraylen_SessionInformationType_SessionID arraylen;
  177. };
  178. struct arraylen_SessionInformationType_ServiceSessionID
  179. {
  180. size_t data;
  181. };
  182. struct SessionInformationType_ServiceSessionID
  183. {
  184. uint8_t data[8];
  185. struct arraylen_SessionInformationType_ServiceSessionID arraylen;
  186. };
  187. struct selection_SessionInformationType
  188. {
  189. int ServiceSessionID:1;
  190. int ProtocolVersion:1;
  191. };
  192. struct arraylen_SessionInformationType_ProtocolVersion
  193. {
  194. size_t data;
  195. };
  196. struct SessionInformationType_ProtocolVersion
  197. {
  198. uint32_t data[256];
  199. struct arraylen_SessionInformationType_ProtocolVersion arraylen;
  200. };
  201. struct SessionInformationType
  202. {
  203. struct SessionInformationType_SessionID SessionID;
  204. struct SessionInformationType_ServiceSessionID ServiceSessionID;
  205. struct SessionInformationType_ProtocolVersion ProtocolVersion;
  206. struct selection_SessionInformationType isused;
  207. };
  208. struct selection_NotificationType
  209. {
  210. int FaultCode:1;
  211. int FaultMsg:1;
  212. int EventList:1;
  213. };
  214. struct arraylen_NotificationType_FaultMsg
  215. {
  216. size_t data;
  217. };
  218. struct NotificationType_FaultMsg
  219. {
  220. uint32_t data[256];
  221. struct arraylen_NotificationType_FaultMsg arraylen;
  222. };
  223. struct EventListType
  224. {
  225. enum eventEntryType Event;
  226. };
  227. struct NotificationType
  228. {
  229. enum faultCodeType FaultCode;
  230. struct NotificationType_FaultMsg FaultMsg;
  231. struct EventListType EventList;
  232. struct selection_NotificationType isused;
  233. };
  234. struct selection_HeaderType
  235. {
  236. int Notification:1;
  237. };
  238. struct HeaderType
  239. {
  240. struct SessionInformationType SessionInformation;
  241. struct NotificationType Notification;
  242. struct selection_HeaderType isused;
  243. };
  244. struct arraylen_SessionSetupReqType_PEVID
  245. {
  246. size_t data;
  247. };
  248. struct SessionSetupReqType_PEVID
  249. {
  250. uint32_t data[32];
  251. struct arraylen_SessionSetupReqType_PEVID arraylen;
  252. };
  253. struct selection_SessionSetupReqType
  254. {
  255. int PEVID:1;
  256. };
  257. struct PEVStatusType
  258. {
  259. int ConnectorLocked;
  260. int ChargerStandby;
  261. };
  262. struct SessionSetupReqType
  263. {
  264. struct SessionSetupReqType_PEVID PEVID;
  265. struct PEVStatusType PEVStatus;
  266. struct selection_SessionSetupReqType isused;
  267. };
  268. struct selection_BodyType
  269. {
  270. int SessionSetupReq:1;
  271. int SessionSetupRes:1;
  272. int ServiceDiscoveryReq:1;
  273. int ServiceDiscoveryRes:1;
  274. int ServicePaymentSelectionReq:1;
  275. int ServicePaymentSelectionRes:1;
  276. int PaymentDetailsReq:1;
  277. int PaymentDetailsRes:1;
  278. int PowerDiscoveryReq:1;
  279. int PowerDiscoveryRes:1;
  280. int LineLockReq:1;
  281. int LineLockRes:1;
  282. int PowerDeliveryReq:1;
  283. int PowerDeliveryRes:1;
  284. int MeteringStatusReq:1;
  285. int MeteringStatusRes:1;
  286. int MeteringReceiptReq:1;
  287. int MeteringReceiptRes:1;
  288. };
  289. struct arraylen_SessionSetupResType_EVSEID
  290. {
  291. size_t data;
  292. };
  293. struct SessionSetupResType_EVSEID
  294. {
  295. uint8_t data[32];
  296. struct arraylen_SessionSetupResType_EVSEID arraylen;
  297. };
  298. struct EVSEStatusType
  299. {
  300. int FatalError;
  301. int EVSEStandby;
  302. int ConnectorLocked;
  303. int PowerSwitchClosed;
  304. int RCD;
  305. int64_t ShutDownTime;
  306. };
  307. struct SessionSetupResType
  308. {
  309. enum responseCode_SessionSetupType ResponseCode;
  310. struct SessionSetupResType_EVSEID EVSEID;
  311. struct EVSEStatusType EVSEStatus;
  312. int64_t TCurrent;
  313. };
  314. struct selection_ServiceDiscoveryReqType
  315. {
  316. int ServiceType:1;
  317. int ServiceScope:1;
  318. };
  319. struct arraylen_ServiceDiscoveryReqType_ServiceScope
  320. {
  321. size_t data;
  322. };
  323. struct ServiceDiscoveryReqType_ServiceScope
  324. {
  325. uint32_t data[255];
  326. struct arraylen_ServiceDiscoveryReqType_ServiceScope arraylen;
  327. };
  328. struct ServiceDiscoveryReqType
  329. {
  330. enum serviceTypeType ServiceType;
  331. struct ServiceDiscoveryReqType_ServiceScope ServiceScope;
  332. struct selection_ServiceDiscoveryReqType isused;
  333. };
  334. struct arraylen_ServiceDescriptionType_ServiceID
  335. {
  336. size_t data;
  337. };
  338. struct ServiceDescriptionType_ServiceID
  339. {
  340. uint8_t data[8];
  341. struct arraylen_ServiceDescriptionType_ServiceID arraylen;
  342. };
  343. struct arraylen_ServiceDescriptionType_ServiceName
  344. {
  345. size_t data;
  346. };
  347. struct ServiceDescriptionType_ServiceName
  348. {
  349. uint32_t data[64];
  350. struct arraylen_ServiceDescriptionType_ServiceName arraylen;
  351. };
  352. struct selection_ServiceDescriptionType
  353. {
  354. int ServiceName:1;
  355. int ServiceType:1;
  356. int ServiceScope:1;
  357. };
  358. struct arraylen_ServiceDescriptionType_ServiceScope
  359. {
  360. size_t data;
  361. };
  362. struct ServiceDescriptionType_ServiceScope
  363. {
  364. uint32_t data[255];
  365. struct arraylen_ServiceDescriptionType_ServiceScope arraylen;
  366. };
  367. struct ServiceDescriptionType
  368. {
  369. struct ServiceDescriptionType_ServiceID ServiceID;
  370. struct ServiceDescriptionType_ServiceName ServiceName;
  371. enum serviceTypeType ServiceType;
  372. struct ServiceDescriptionType_ServiceScope ServiceScope;
  373. struct selection_ServiceDescriptionType isused;
  374. };
  375. struct arraylen_ServiceListType
  376. {
  377. size_t Service;
  378. };
  379. struct ServiceListType
  380. {
  381. struct ServiceDescriptionType Service[8];
  382. struct arraylen_ServiceListType arraylen;
  383. };
  384. struct selection_ServiceDiscoveryResType
  385. {
  386. int ServiceList:1;
  387. };
  388. struct ServiceDiscoveryResType
  389. {
  390. enum responseCode_ServiceDiscoveryType ResponseCode;
  391. struct ServiceListType ServiceList;
  392. struct selection_ServiceDiscoveryResType isused;
  393. };
  394. struct arraylen_ServicePaymentSelectionReqType_PEVPubKey
  395. {
  396. size_t data;
  397. };
  398. struct ServicePaymentSelectionReqType_PEVPubKey
  399. {
  400. uint8_t data[64];
  401. struct arraylen_ServicePaymentSelectionReqType_PEVPubKey arraylen;
  402. };
  403. struct ServicePaymentSelectionReqType
  404. {
  405. struct ServiceListType ServiceList;
  406. struct ServicePaymentSelectionReqType_PEVPubKey PEVPubKey;
  407. };
  408. struct arraylen_ServicePaymentSelectionResType_MeteringAuthPubKey
  409. {
  410. size_t data;
  411. };
  412. struct ServicePaymentSelectionResType_MeteringAuthPubKey
  413. {
  414. uint8_t data[64];
  415. struct arraylen_ServicePaymentSelectionResType_MeteringAuthPubKey arraylen;
  416. };
  417. struct selection_ServicePaymentSelectionResType
  418. {
  419. int MeteringAuthPubKey:1;
  420. };
  421. struct ServicePaymentSelectionResType
  422. {
  423. enum responseCode_ServicePaymentSelectionType ResponseCode;
  424. struct ServicePaymentSelectionResType_MeteringAuthPubKey MeteringAuthPubKey;
  425. struct selection_ServicePaymentSelectionResType isused;
  426. };
  427. struct arraylen_PaymentDetailsReqType_ContractID
  428. {
  429. size_t data;
  430. };
  431. struct PaymentDetailsReqType_ContractID
  432. {
  433. uint32_t data[128];
  434. struct arraylen_PaymentDetailsReqType_ContractID arraylen;
  435. };
  436. struct PaymentDetailsReqType
  437. {
  438. struct PaymentDetailsReqType_ContractID ContractID;
  439. };
  440. struct PaymentDetailsResType
  441. {
  442. enum responseCode_PaymentDetailsType ResponseCode;
  443. };
  444. struct FloatingValueType
  445. {
  446. enum unitMultiplierType Multiplier;
  447. enum unitSymbolType Unit;
  448. int64_t Value;
  449. };
  450. struct PowerDiscoveryReqType
  451. {
  452. struct PEVStatusType PEVStatus;
  453. int64_t EoC;
  454. struct FloatingValueType EAmount;
  455. struct FloatingValueType PEVMaxPower;
  456. int32_t PEVMaxPhases;
  457. struct FloatingValueType PEVMaxVoltage;
  458. struct FloatingValueType PEVMinVoltage;
  459. };
  460. struct arraylen_PowerDiscoveryResType_EnergyProvider
  461. {
  462. size_t data;
  463. };
  464. struct PowerDiscoveryResType_EnergyProvider
  465. {
  466. uint32_t data[256];
  467. struct arraylen_PowerDiscoveryResType_EnergyProvider arraylen;
  468. };
  469. struct selection_PowerDiscoveryResType
  470. {
  471. int EnergyProvider:1;
  472. int TariffTable:1;
  473. };
  474. struct arraylen_TariffTableType_Currency
  475. {
  476. size_t data;
  477. };
  478. struct TariffTableType_Currency
  479. {
  480. uint32_t data[3];
  481. struct arraylen_TariffTableType_Currency arraylen;
  482. };
  483. struct arraylen_TariffDescrType_TariffDescription
  484. {
  485. size_t data;
  486. };
  487. struct TariffDescrType_TariffDescription
  488. {
  489. uint32_t data[32];
  490. struct arraylen_TariffDescrType_TariffDescription arraylen;
  491. };
  492. struct selection_TariffDescrType
  493. {
  494. int TariffDescription:1;
  495. };
  496. struct selection_TariffEntryType
  497. {
  498. int EPrice:1;
  499. };
  500. struct TariffEntryType
  501. {
  502. uint32_t TariffStart;
  503. struct FloatingValueType TariffPMax;
  504. struct FloatingValueType EPrice;
  505. struct selection_TariffEntryType isused;
  506. };
  507. struct arraylen_TariffEntriesType
  508. {
  509. size_t TariffEntry;
  510. };
  511. struct TariffEntriesType
  512. {
  513. struct TariffEntryType TariffEntry[8];
  514. struct arraylen_TariffEntriesType arraylen;
  515. };
  516. struct TariffDescrType
  517. {
  518. enum tariffIDType TariffID;
  519. struct TariffDescrType_TariffDescription TariffDescription;
  520. struct TariffEntriesType TariffEntries;
  521. struct selection_TariffDescrType isused;
  522. };
  523. struct arraylen_TariffTableType
  524. {
  525. size_t Tariff;
  526. };
  527. struct TariffTableType
  528. {
  529. struct TariffTableType_Currency Currency;
  530. struct TariffDescrType Tariff[6];
  531. struct arraylen_TariffTableType arraylen;
  532. };
  533. struct PowerDiscoveryResType
  534. {
  535. enum responseCode_PowerDiscoveryType ResponseCode;
  536. struct EVSEStatusType EVSEStatus;
  537. struct FloatingValueType EVSEVoltage;
  538. struct FloatingValueType EVSEIMax;
  539. int32_t EVSEMaxPhases;
  540. struct PowerDiscoveryResType_EnergyProvider EnergyProvider;
  541. struct TariffTableType TariffTable;
  542. struct selection_PowerDiscoveryResType isused;
  543. };
  544. struct LineLockReqType
  545. {
  546. struct PEVStatusType PEVStatus;
  547. int ReqLockStatus;
  548. };
  549. struct LineLockResType
  550. {
  551. enum responseCode_LineLockType ResponseCode;
  552. struct EVSEStatusType EVSEStatus;
  553. };
  554. struct selection_PowerDeliveryReqType
  555. {
  556. int Tariff:1;
  557. int ChargingProfile:1;
  558. };
  559. struct ChargingProfileType
  560. {
  561. int64_t ChargingProfileEntryStart;
  562. struct FloatingValueType ChargingProfileEntryMaxPower;
  563. };
  564. struct PowerDeliveryReqType
  565. {
  566. struct PEVStatusType PEVStatus;
  567. int ReqSwitchStatus;
  568. enum tariffIDType Tariff;
  569. struct ChargingProfileType ChargingProfile;
  570. struct selection_PowerDeliveryReqType isused;
  571. };
  572. struct PowerDeliveryResType
  573. {
  574. enum responseCode_PowerDeliveryType ResponseCode;
  575. };
  576. struct MeteringStatusReqType
  577. {
  578. int NO_MEMBER:1;
  579. };
  580. struct arraylen_MeteringStatusResType_EVSEID
  581. {
  582. size_t data;
  583. };
  584. struct MeteringStatusResType_EVSEID
  585. {
  586. uint8_t data[32];
  587. struct arraylen_MeteringStatusResType_EVSEID arraylen;
  588. };
  589. struct selection_MeteringStatusResType
  590. {
  591. int PCurrent:1;
  592. int MeterInfo:1;
  593. };
  594. struct arraylen_MeterInfoType_MeterID
  595. {
  596. size_t data;
  597. };
  598. struct MeterInfoType_MeterID
  599. {
  600. uint32_t data[32];
  601. struct arraylen_MeterInfoType_MeterID arraylen;
  602. };
  603. struct selection_MeterInfoType
  604. {
  605. int MeterID:1;
  606. int MeterPubKey:1;
  607. int MeterReading:1;
  608. int MeterStatus:1;
  609. int TMeter:1;
  610. };
  611. struct arraylen_MeterInfoType_MeterPubKey
  612. {
  613. size_t data;
  614. };
  615. struct MeterInfoType_MeterPubKey
  616. {
  617. uint8_t data[64];
  618. struct arraylen_MeterInfoType_MeterPubKey arraylen;
  619. };
  620. struct MeterInfoType
  621. {
  622. struct MeterInfoType_MeterID MeterID;
  623. struct MeterInfoType_MeterPubKey MeterPubKey;
  624. struct FloatingValueType MeterReading;
  625. int32_t MeterStatus;
  626. int64_t TMeter;
  627. struct selection_MeterInfoType isused;
  628. };
  629. struct MeteringStatusResType
  630. {
  631. enum responseCode_MeteringStatusType ResponseCode;
  632. struct MeteringStatusResType_EVSEID EVSEID;
  633. struct EVSEStatusType EVSEStatus;
  634. int64_t TCurrent;
  635. struct FloatingValueType EVSEMaxPower;
  636. struct FloatingValueType PCurrent;
  637. struct MeterInfoType MeterInfo;
  638. struct selection_MeteringStatusResType isused;
  639. };
  640. struct arraylen_MeteringReceiptReqType_PEVID
  641. {
  642. size_t data;
  643. };
  644. struct MeteringReceiptReqType_PEVID
  645. {
  646. uint32_t data[32];
  647. struct arraylen_MeteringReceiptReqType_PEVID arraylen;
  648. };
  649. struct selection_MeteringReceiptReqType
  650. {
  651. int PEVID:1;
  652. int TCurrent:1;
  653. };
  654. struct MeteringReceiptReqType
  655. {
  656. struct MeteringReceiptReqType_PEVID PEVID;
  657. struct PEVStatusType PEVStatus;
  658. int64_t TCurrent;
  659. enum tariffIDType Tariff;
  660. struct MeterInfoType MeterInfo;
  661. struct selection_MeteringReceiptReqType isused;
  662. };
  663. struct MeteringReceiptResType
  664. {
  665. enum responseCode_MeteringReceiptType ResponseCode;
  666. };
  667. struct BodyType
  668. {
  669. struct SessionSetupReqType SessionSetupReq;
  670. struct SessionSetupResType SessionSetupRes;
  671. struct ServiceDiscoveryReqType ServiceDiscoveryReq;
  672. struct ServiceDiscoveryResType ServiceDiscoveryRes;
  673. struct ServicePaymentSelectionReqType ServicePaymentSelectionReq;
  674. struct ServicePaymentSelectionResType ServicePaymentSelectionRes;
  675. struct PaymentDetailsReqType PaymentDetailsReq;
  676. struct PaymentDetailsResType PaymentDetailsRes;
  677. struct PowerDiscoveryReqType PowerDiscoveryReq;
  678. struct PowerDiscoveryResType PowerDiscoveryRes;
  679. struct LineLockReqType LineLockReq;
  680. struct LineLockResType LineLockRes;
  681. struct PowerDeliveryReqType PowerDeliveryReq;
  682. struct PowerDeliveryResType PowerDeliveryRes;
  683. struct MeteringStatusReqType MeteringStatusReq;
  684. struct MeteringStatusResType MeteringStatusRes;
  685. struct MeteringReceiptReqType MeteringReceiptReq;
  686. struct MeteringReceiptResType MeteringReceiptRes;
  687. struct selection_BodyType isused;
  688. };
  689. struct AnonType_V2G_Message
  690. {
  691. struct HeaderType Header;
  692. struct BodyType Body;
  693. };
  694. /* init method of the V2G message */
  695. void init_AnonType_V2G_Message(struct AnonType_V2G_Message* v2gMsg);
  696. #endif
  697. #ifdef __cplusplus
  698. }
  699. #endif