فهرست منبع

* restructure project to support multiple ISO versions
* fixed once again EXTR_CHAR for

git-svn-id: https://svn.code.sf.net/p/openv2g/code/trunk@99 d9f2db14-54d0-4bde-b00c-16405c910529

daniel_peintner 8 سال پیش
والد
کامیت
da546e55d8

+ 4 - 0
.cproject

@@ -31,6 +31,8 @@
 								<option id="gnu.c.compiler.option.include.paths.229245493" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;../src/codec&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/din&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../src/iso1&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../src/iso2&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/xmldsig&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/appHandshake&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/transport&quot;"/>
@@ -92,6 +94,8 @@
 								<option id="gnu.c.compiler.option.include.paths.289860304" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;../src/codec&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/din&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../src/iso1&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../src/iso2&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/xmldsig&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/appHandshake&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;../src/transport&quot;"/>

+ 2 - 0
Debug/makefile

@@ -11,6 +11,8 @@ RM := rm -rf
 -include src/xmldsig/subdir.mk
 -include src/transport/subdir.mk
 -include src/test/subdir.mk
+-include src/iso2/subdir.mk
+-include src/iso1/subdir.mk
 -include src/din/subdir.mk
 -include src/codec/subdir.mk
 -include src/appHandshake/subdir.mk

+ 2 - 0
Debug/sources.mk

@@ -16,6 +16,8 @@ SUBDIRS := \
 src/xmldsig \
 src/transport \
 src/test \
+src/iso2 \
+src/iso1 \
 src/din \
 src/codec \
 src/appHandshake \

+ 1 - 1
Debug/src/appHandshake/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/appHandshake/%.o: ../src/appHandshake/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 4 - 13
Debug/src/codec/subdir.mk

@@ -11,10 +11,7 @@ C_SRCS += \
 ../src/codec/EXIHeaderDecoder.c \
 ../src/codec/EXIHeaderEncoder.c \
 ../src/codec/EncoderChannel.c \
-../src/codec/MethodsBag.c \
-../src/codec/v2gEXIDatatypes.c \
-../src/codec/v2gEXIDatatypesDecoder.c \
-../src/codec/v2gEXIDatatypesEncoder.c 
+../src/codec/MethodsBag.c 
 
 OBJS += \
 ./src/codec/BitInputStream.o \
@@ -24,10 +21,7 @@ OBJS += \
 ./src/codec/EXIHeaderDecoder.o \
 ./src/codec/EXIHeaderEncoder.o \
 ./src/codec/EncoderChannel.o \
-./src/codec/MethodsBag.o \
-./src/codec/v2gEXIDatatypes.o \
-./src/codec/v2gEXIDatatypesDecoder.o \
-./src/codec/v2gEXIDatatypesEncoder.o 
+./src/codec/MethodsBag.o 
 
 C_DEPS += \
 ./src/codec/BitInputStream.d \
@@ -37,17 +31,14 @@ C_DEPS += \
 ./src/codec/EXIHeaderDecoder.d \
 ./src/codec/EXIHeaderEncoder.d \
 ./src/codec/EncoderChannel.d \
-./src/codec/MethodsBag.d \
-./src/codec/v2gEXIDatatypes.d \
-./src/codec/v2gEXIDatatypesDecoder.d \
-./src/codec/v2gEXIDatatypesEncoder.d 
+./src/codec/MethodsBag.d 
 
 
 # Each subdirectory must supply rules for building sources it contributes
 src/codec/%.o: ../src/codec/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 1 - 1
Debug/src/din/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/din/%.o: ../src/din/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 30 - 0
Debug/src/iso1/subdir.mk

@@ -0,0 +1,30 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../src/iso1/iso1EXIDatatypes.c \
+../src/iso1/iso1EXIDatatypesDecoder.c \
+../src/iso1/iso1EXIDatatypesEncoder.c 
+
+OBJS += \
+./src/iso1/iso1EXIDatatypes.o \
+./src/iso1/iso1EXIDatatypesDecoder.o \
+./src/iso1/iso1EXIDatatypesEncoder.o 
+
+C_DEPS += \
+./src/iso1/iso1EXIDatatypes.d \
+./src/iso1/iso1EXIDatatypesDecoder.d \
+./src/iso1/iso1EXIDatatypesEncoder.d 
+
+
+# Each subdirectory must supply rules for building sources it contributes
+src/iso1/%.o: ../src/iso1/%.c
+	@echo 'Building file: $<'
+	@echo 'Invoking: GCC C Compiler'
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	@echo 'Finished building: $<'
+	@echo ' '
+
+

+ 30 - 0
Debug/src/iso2/subdir.mk

@@ -0,0 +1,30 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../src/iso2/iso2EXIDatatypes.c \
+../src/iso2/iso2EXIDatatypesDecoder.c \
+../src/iso2/iso2EXIDatatypesEncoder.c 
+
+OBJS += \
+./src/iso2/iso2EXIDatatypes.o \
+./src/iso2/iso2EXIDatatypesDecoder.o \
+./src/iso2/iso2EXIDatatypesEncoder.o 
+
+C_DEPS += \
+./src/iso2/iso2EXIDatatypes.d \
+./src/iso2/iso2EXIDatatypesDecoder.d \
+./src/iso2/iso2EXIDatatypesEncoder.d 
+
+
+# Each subdirectory must supply rules for building sources it contributes
+src/iso2/%.o: ../src/iso2/%.c
+	@echo 'Building file: $<'
+	@echo 'Invoking: GCC C Compiler'
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	@echo 'Finished building: $<'
+	@echo ' '
+
+

+ 1 - 1
Debug/src/test/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/test/%.o: ../src/test/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 1 - 1
Debug/src/transport/subdir.mk

@@ -17,7 +17,7 @@ C_DEPS += \
 src/transport/%.o: ../src/transport/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 1 - 1
Debug/src/xmldsig/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/xmldsig/%.o: ../src/xmldsig/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 2 - 0
Release/makefile

@@ -11,6 +11,8 @@ RM := rm -rf
 -include src/xmldsig/subdir.mk
 -include src/transport/subdir.mk
 -include src/test/subdir.mk
+-include src/iso2/subdir.mk
+-include src/iso1/subdir.mk
 -include src/din/subdir.mk
 -include src/codec/subdir.mk
 -include src/appHandshake/subdir.mk

+ 2 - 0
Release/sources.mk

@@ -16,6 +16,8 @@ SUBDIRS := \
 src/xmldsig \
 src/transport \
 src/test \
+src/iso2 \
+src/iso1 \
 src/din \
 src/codec \
 src/appHandshake \

+ 1 - 1
Release/src/appHandshake/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/appHandshake/%.o: ../src/appHandshake/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 4 - 13
Release/src/codec/subdir.mk

@@ -11,10 +11,7 @@ C_SRCS += \
 ../src/codec/EXIHeaderDecoder.c \
 ../src/codec/EXIHeaderEncoder.c \
 ../src/codec/EncoderChannel.c \
-../src/codec/MethodsBag.c \
-../src/codec/v2gEXIDatatypes.c \
-../src/codec/v2gEXIDatatypesDecoder.c \
-../src/codec/v2gEXIDatatypesEncoder.c 
+../src/codec/MethodsBag.c 
 
 OBJS += \
 ./src/codec/BitInputStream.o \
@@ -24,10 +21,7 @@ OBJS += \
 ./src/codec/EXIHeaderDecoder.o \
 ./src/codec/EXIHeaderEncoder.o \
 ./src/codec/EncoderChannel.o \
-./src/codec/MethodsBag.o \
-./src/codec/v2gEXIDatatypes.o \
-./src/codec/v2gEXIDatatypesDecoder.o \
-./src/codec/v2gEXIDatatypesEncoder.o 
+./src/codec/MethodsBag.o 
 
 C_DEPS += \
 ./src/codec/BitInputStream.d \
@@ -37,17 +31,14 @@ C_DEPS += \
 ./src/codec/EXIHeaderDecoder.d \
 ./src/codec/EXIHeaderEncoder.d \
 ./src/codec/EncoderChannel.d \
-./src/codec/MethodsBag.d \
-./src/codec/v2gEXIDatatypes.d \
-./src/codec/v2gEXIDatatypesDecoder.d \
-./src/codec/v2gEXIDatatypesEncoder.d 
+./src/codec/MethodsBag.d 
 
 
 # Each subdirectory must supply rules for building sources it contributes
 src/codec/%.o: ../src/codec/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 1 - 1
Release/src/din/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/din/%.o: ../src/din/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 30 - 0
Release/src/iso1/subdir.mk

@@ -0,0 +1,30 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../src/iso1/iso1EXIDatatypes.c \
+../src/iso1/iso1EXIDatatypesDecoder.c \
+../src/iso1/iso1EXIDatatypesEncoder.c 
+
+OBJS += \
+./src/iso1/iso1EXIDatatypes.o \
+./src/iso1/iso1EXIDatatypesDecoder.o \
+./src/iso1/iso1EXIDatatypesEncoder.o 
+
+C_DEPS += \
+./src/iso1/iso1EXIDatatypes.d \
+./src/iso1/iso1EXIDatatypesDecoder.d \
+./src/iso1/iso1EXIDatatypesEncoder.d 
+
+
+# Each subdirectory must supply rules for building sources it contributes
+src/iso1/%.o: ../src/iso1/%.c
+	@echo 'Building file: $<'
+	@echo 'Invoking: GCC C Compiler'
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	@echo 'Finished building: $<'
+	@echo ' '
+
+

+ 30 - 0
Release/src/iso2/subdir.mk

@@ -0,0 +1,30 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../src/iso2/iso2EXIDatatypes.c \
+../src/iso2/iso2EXIDatatypesDecoder.c \
+../src/iso2/iso2EXIDatatypesEncoder.c 
+
+OBJS += \
+./src/iso2/iso2EXIDatatypes.o \
+./src/iso2/iso2EXIDatatypesDecoder.o \
+./src/iso2/iso2EXIDatatypesEncoder.o 
+
+C_DEPS += \
+./src/iso2/iso2EXIDatatypes.d \
+./src/iso2/iso2EXIDatatypesDecoder.d \
+./src/iso2/iso2EXIDatatypesEncoder.d 
+
+
+# Each subdirectory must supply rules for building sources it contributes
+src/iso2/%.o: ../src/iso2/%.c
+	@echo 'Building file: $<'
+	@echo 'Invoking: GCC C Compiler'
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	@echo 'Finished building: $<'
+	@echo ' '
+
+

+ 1 - 1
Release/src/test/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/test/%.o: ../src/test/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 1 - 1
Release/src/transport/subdir.mk

@@ -17,7 +17,7 @@ C_DEPS += \
 src/transport/%.o: ../src/transport/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 1 - 1
Release/src/xmldsig/subdir.mk

@@ -23,7 +23,7 @@ C_DEPS += \
 src/xmldsig/%.o: ../src/xmldsig/%.c
 	@echo 'Building file: $<'
 	@echo 'Invoking: GCC C Compiler'
-	gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
+	gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
 	@echo 'Finished building: $<'
 	@echo ' '
 

+ 78 - 67
src/codec/EXIConfig.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 2017-03-02 
+ * @version 2017-03-23
  * @contact Joerg.Heuer@siemens.com
  *
  * <p>Code generated by EXIdizer</p>
@@ -27,69 +27,80 @@
  *
  ********************************************************************/
 
-
-
-/**
- * \file 	EXIConfig.h
- * \brief 	EXI Configurations for the EXI Codec
- *
- */
-
-#ifndef EXI_CONFIG_H
-#define EXI_CONFIG_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/** EXI stream - Option Byte Array */
-#define BYTE_ARRAY 1
-/** EXI stream - Option File */
-#define FILE_STREAM 2
-/** \brief 	EXI stream
- *
- * 			Byte array or file
- * */
-#define EXI_STREAM BYTE_ARRAY
-
-
-
-
-
-/** Memory allocation - static */
-#define STATIC_ALLOCATION 1
-/** Memory allocation - dynamic */
-#define DYNAMIC_ALLOCATION  2
-/** */
-/** \brief 	Memory allocation mode
- *
- * 			static or dynamic memory allocation
- * */
-#define MEMORY_ALLOCATION STATIC_ALLOCATION
-
-
-
-/** String representation ASCII */
-#define STRING_REPRESENTATION_ASCII 1
-/** String representation Universal Character Set (UCS) */
-#define STRING_REPRESENTATION_UCS 2
-/** */
-/** \brief 	String representation mode
- *
- * 			ASCII or UCS
- * */
-#define STRING_REPRESENTATION STRING_REPRESENTATION_ASCII
-
-
-
-/** Maximum number of cascading elements, XML tree depth */
-#define EXI_ELEMENT_STACK_SIZE 24
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* EXI_CONFIG_H */
-
+
+
+/**
+ * \file 	EXIConfig.h
+ * \brief 	EXI Configurations for the EXI Codec
+ *
+ */
+
+#ifndef EXI_CONFIG_H
+#define EXI_CONFIG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/** EXI stream - Option Byte Array */
+#define BYTE_ARRAY 1
+/** EXI stream - Option File */
+#define FILE_STREAM 2
+/** \brief 	EXI stream
+ *
+ * 			Byte array or file
+ * */
+#define EXI_STREAM BYTE_ARRAY
+
+
+
+
+
+/** Memory allocation - static */
+#define STATIC_ALLOCATION 1
+/** Memory allocation - dynamic */
+#define DYNAMIC_ALLOCATION  2
+/** */
+/** \brief 	Memory allocation mode
+ *
+ * 			static or dynamic memory allocation
+ * */
+#define MEMORY_ALLOCATION STATIC_ALLOCATION
+
+
+
+/** String representation ASCII */
+#define STRING_REPRESENTATION_ASCII 1
+/** String representation Universal Character Set (UCS) */
+#define STRING_REPRESENTATION_UCS 2
+/** */
+/** \brief 	String representation mode
+ *
+ * 			ASCII or UCS
+ * */
+#define STRING_REPRESENTATION STRING_REPRESENTATION_UCS
+
+
+/* in the case of ASCII an extra char (null terminator) for printf and other functions is useful */
+#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII
+#define EXTRA_CHAR 1
+#endif /* STRING_REPRESENTATION_ASCII */
+#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS
+#define EXTRA_CHAR 0
+#endif /* STRING_REPRESENTATION_UCS */
+
+
+
+
+
+/** Maximum number of cascading elements, XML tree depth */
+#define EXI_ELEMENT_STACK_SIZE 24
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* EXI_CONFIG_H */
+

+ 0 - 1485
src/codec/v2gEXIDatatypes.c

@@ -1,1485 +0,0 @@
-/*
- * Copyright (C) 2007-2017 Siemens AG
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*******************************************************************
- *
- * @author Daniel.Peintner.EXT@siemens.com
- * @version 2017-03-02 
- * @contact Joerg.Heuer@siemens.com
- *
- * <p>Code generated by EXIdizer</p>
- * <p>Schema: V2G_CI_MsgDef.xsd</p>
- *
- *
- ********************************************************************/
-
-
-
-#include <stdint.h>
-
-#include "v2gEXIDatatypes.h"
-#include "EXITypes.h"
-
-
-#ifndef EXI_v2g_DATATYPES_C
-#define EXI_v2g_DATATYPES_C
-
-#if DEPLOY_ISO_CODEC == SUPPORT_YES
-
-
-void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) {
-	exiDoc->V2G_Message_isUsed = 0u;
-	exiDoc->ServiceDiscoveryReq_isUsed = 0u;
-	exiDoc->ServiceDiscoveryRes_isUsed = 0u;
-	exiDoc->FinePositioningReq_isUsed = 0u;
-	exiDoc->FinePositioningRes_isUsed = 0u;
-	exiDoc->DisconnectChargingDeviceReq_isUsed = 0u;
-	exiDoc->DisconnectChargingDeviceRes_isUsed = 0u;
-	exiDoc->PowerDemandReq_isUsed = 0u;
-	exiDoc->MeteringReceiptReq_isUsed = 0u;
-	exiDoc->PaymentDetailsReq_isUsed = 0u;
-	exiDoc->PowerDemandRes_isUsed = 0u;
-	exiDoc->MeteringReceiptRes_isUsed = 0u;
-	exiDoc->PaymentDetailsRes_isUsed = 0u;
-	exiDoc->SessionSetupReq_isUsed = 0u;
-	exiDoc->SessionSetupRes_isUsed = 0u;
-	exiDoc->CableCheckReq_isUsed = 0u;
-	exiDoc->CableCheckRes_isUsed = 0u;
-	exiDoc->CertificateInstallationReq_isUsed = 0u;
-	exiDoc->CertificateInstallationRes_isUsed = 0u;
-	exiDoc->SystemStatusReq_isUsed = 0u;
-	exiDoc->SystemStatusRes_isUsed = 0u;
-	exiDoc->PairingReq_isUsed = 0u;
-	exiDoc->WeldingDetectionReq_isUsed = 0u;
-	exiDoc->ConnectChargingDeviceReq_isUsed = 0u;
-	exiDoc->EVSEErrorInformation_isUsed = 0u;
-	exiDoc->PairingRes_isUsed = 0u;
-	exiDoc->WeldingDetectionRes_isUsed = 0u;
-	exiDoc->ConnectChargingDeviceRes_isUsed = 0u;
-	exiDoc->CertificateUpdateReq_isUsed = 0u;
-	exiDoc->CertificateUpdateRes_isUsed = 0u;
-	exiDoc->EVErrorInformation_isUsed = 0u;
-	exiDoc->PaymentServiceSelectionReq_isUsed = 0u;
-	exiDoc->PowerDeliveryReq_isUsed = 0u;
-	exiDoc->PaymentServiceSelectionRes_isUsed = 0u;
-	exiDoc->PowerDeliveryRes_isUsed = 0u;
-	exiDoc->ChargingStatusReq_isUsed = 0u;
-	exiDoc->ChargingStatusRes_isUsed = 0u;
-	exiDoc->BodyElement_isUsed = 0u;
-	exiDoc->AC_BidirectionalControlReq_isUsed = 0u;
-	exiDoc->AC_BidirectionalControlRes_isUsed = 0u;
-	exiDoc->ErrorInformation_isUsed = 0u;
-	exiDoc->VehicleCheckInReq_isUsed = 0u;
-	exiDoc->CurrentDemandReq_isUsed = 0u;
-	exiDoc->VehicleCheckInRes_isUsed = 0u;
-	exiDoc->PreChargeReq_isUsed = 0u;
-	exiDoc->CurrentDemandRes_isUsed = 0u;
-	exiDoc->PreChargeRes_isUsed = 0u;
-	exiDoc->AlignmentCheckReq_isUsed = 0u;
-	exiDoc->V2GRequest_isUsed = 0u;
-	exiDoc->SessionStopReq_isUsed = 0u;
-	exiDoc->AuthorizationReq_isUsed = 0u;
-	exiDoc->AlignmentCheckRes_isUsed = 0u;
-	exiDoc->SessionStopRes_isUsed = 0u;
-	exiDoc->AuthorizationRes_isUsed = 0u;
-	exiDoc->VehicleCheckOutReq_isUsed = 0u;
-	exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u;
-	exiDoc->VehicleCheckOutRes_isUsed = 0u;
-	exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u;
-	exiDoc->V2GResponse_isUsed = 0u;
-	exiDoc->FinePositioningSetupReq_isUsed = 0u;
-	exiDoc->FinePositioningSetupRes_isUsed = 0u;
-	exiDoc->ServiceDetailReq_isUsed = 0u;
-	exiDoc->DC_BidirectionalControlReq_isUsed = 0u;
-	exiDoc->ServiceDetailRes_isUsed = 0u;
-	exiDoc->DC_BidirectionalControlRes_isUsed = 0u;
-	exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 0u;
-	exiDoc->MV_EVSEFinePositioningParameters_isUsed = 0u;
-	exiDoc->RelativeTimeInterval_isUsed = 0u;
-	exiDoc->SalesTariffEntry_isUsed = 0u;
-	exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u;
-	exiDoc->AC_EVChargeParameter_isUsed = 0u;
-	exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 0u;
-	exiDoc->EVEnergyTransferParameter_isUsed = 0u;
-	exiDoc->DC_EVSEBidirectionalParameter_isUsed = 0u;
-	exiDoc->SAScheduleList_isUsed = 0u;
-	exiDoc->EVSEFinePositioningSetupParameters_isUsed = 0u;
-	exiDoc->LF_EVSEFinePositioningParameters_isUsed = 0u;
-	exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 0u;
-	exiDoc->DC_EVChargeParameter_isUsed = 0u;
-	exiDoc->DC_EVSEChargeParameter_isUsed = 0u;
-	exiDoc->LFA_EVFinePositioningParameters_isUsed = 0u;
-	exiDoc->EVFinePositioningSetupParameters_isUsed = 0u;
-	exiDoc->AC_EVSEBidirectionalParameter_isUsed = 0u;
-	exiDoc->EVFinePositioningParameters_isUsed = 0u;
-	exiDoc->WPT_EVChargeParameter_isUsed = 0u;
-	exiDoc->EVSEEnergyTransferParameter_isUsed = 0u;
-	exiDoc->AC_EVBidirectionalParameter_isUsed = 0u;
-	exiDoc->EVSEFinePositioningParameters_isUsed = 0u;
-	exiDoc->WPT_EVSEChargeParameter_isUsed = 0u;
-	exiDoc->AC_EVSEChargeParameter_isUsed = 0u;
-	exiDoc->PMaxScheduleEntry_isUsed = 0u;
-	exiDoc->Generic_EVFinePositioningParameters_isUsed = 0u;
-	exiDoc->DC_EVBidirectionalParameter_isUsed = 0u;
-	exiDoc->SignatureProperty_isUsed = 0u;
-	exiDoc->DSAKeyValue_isUsed = 0u;
-	exiDoc->SignatureProperties_isUsed = 0u;
-	exiDoc->KeyValue_isUsed = 0u;
-	exiDoc->Transforms_isUsed = 0u;
-	exiDoc->DigestMethod_isUsed = 0u;
-	exiDoc->Signature_isUsed = 0u;
-	exiDoc->RetrievalMethod_isUsed = 0u;
-	exiDoc->Manifest_isUsed = 0u;
-	exiDoc->Reference_isUsed = 0u;
-	exiDoc->CanonicalizationMethod_isUsed = 0u;
-	exiDoc->RSAKeyValue_isUsed = 0u;
-	exiDoc->Transform_isUsed = 0u;
-	exiDoc->PGPData_isUsed = 0u;
-	exiDoc->MgmtData_isUsed = 0u;
-	exiDoc->SignatureMethod_isUsed = 0u;
-	exiDoc->KeyInfo_isUsed = 0u;
-	exiDoc->SPKIData_isUsed = 0u;
-	exiDoc->X509Data_isUsed = 0u;
-	exiDoc->SignatureValue_isUsed = 0u;
-	exiDoc->KeyName_isUsed = 0u;
-	exiDoc->DigestValue_isUsed = 0u;
-	exiDoc->SignedInfo_isUsed = 0u;
-	exiDoc->Object_isUsed = 0u;
-}
-
-
-#if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES
-void init_v2gEXIFragment(struct v2gEXIFragment* exiFrag) {
-	exiFrag->EVMaximumVoltage_isUsed = 0u;
-	exiFrag->EVMaximumVoltage_isUsed = 0u;
-	exiFrag->FrequencyChannel_isUsed = 0u;
-	exiFrag->FrequencyChannel_isUsed = 0u;
-	exiFrag->EVProcessing_isUsed = 0u;
-	exiFrag->EVProcessing_isUsed = 0u;
-	exiFrag->EVProcessing_isUsed = 0u;
-	exiFrag->BulkChargingComplete_isUsed = 0u;
-	exiFrag->ParkingMethod_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->Distance_isUsed = 0u;
-	exiFrag->ParameterSet_isUsed = 0u;
-	exiFrag->EVMinimumDischargeCurrent_isUsed = 0u;
-	exiFrag->SignalSeparationTime_isUsed = 0u;
-	exiFrag->SignalSeparationTime_isUsed = 0u;
-	exiFrag->EVSEEnergyTransferParameter_isUsed = 0u;
-	exiFrag->EVSEMaximumVoltage_isUsed = 0u;
-	exiFrag->EVSEMaximumVoltage_isUsed = 0u;
-	exiFrag->DC_EVSEBidirectionalParameter_isUsed = 0u;
-	exiFrag->ChargingSession_isUsed = 0u;
-	exiFrag->SubCertificates_isUsed = 0u;
-	exiFrag->RetrievalMethod_isUsed = 0u;
-	exiFrag->MagneticVectorSetupList_isUsed = 0u;
-	exiFrag->PairingParameters_isUsed = 0u;
-	exiFrag->PairingParameters_isUsed = 0u;
-	exiFrag->EVSEMinimumPower_isUsed = 0u;
-	exiFrag->AC_BidirectionalControlReq_isUsed = 0u;
-	exiFrag->Cost_isUsed = 0u;
-	exiFrag->AC_BidirectionalControlRes_isUsed = 0u;
-	exiFrag->BuyBackTariff_isUsed = 0u;
-	exiFrag->XCoordinate_isUsed = 0u;
-	exiFrag->EVSECheckOutStatus_isUsed = 0u;
-	exiFrag->stringValue_isUsed = 0u;
-	exiFrag->RetryCounter_isUsed = 0u;
-	exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->Sensor_isUsed = 0u;
-	exiFrag->MeterReadingCharged_isUsed = 0u;
-	exiFrag->HMACOutputLength_isUsed = 0u;
-	exiFrag->V2GResponse_isUsed = 0u;
-	exiFrag->EVMinimumVoltage_isUsed = 0u;
-	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
-	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
-	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
-	exiFrag->RelativeTimeInterval_isUsed = 0u;
-	exiFrag->RelativeTimeInterval_isUsed = 0u;
-	exiFrag->WPT_EVChargeParameter_isUsed = 0u;
-	exiFrag->SAScheduleTuple_isUsed = 0u;
-	exiFrag->ServiceID_isUsed = 0u;
-	exiFrag->ServiceID_isUsed = 0u;
-	exiFrag->PgenCounter_isUsed = 0u;
-	exiFrag->SalesTariffDescription_isUsed = 0u;
-	exiFrag->AngleGAtoVA_isUsed = 0u;
-	exiFrag->boolValue_isUsed = 0u;
-	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->ErrorInformation_isUsed = 0u;
-	exiFrag->NotificationMaxDelay_isUsed = 0u;
-	exiFrag->EVSEMaximumDischargePower_isUsed = 0u;
-	exiFrag->PGPData_isUsed = 0u;
-	exiFrag->EVSEMaximumChargePower_isUsed = 0u;
-	exiFrag->SessionID_isUsed = 0u;
-	exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u;
-	exiFrag->EVMaximumPower_isUsed = 0u;
-	exiFrag->EVMaximumCurrent_isUsed = 0u;
-	exiFrag->RSAKeyValue_isUsed = 0u;
-	exiFrag->EVSENominalVoltage_isUsed = 0u;
-	exiFrag->MagneticVector_isUsed = 0u;
-	exiFrag->XPath_isUsed = 0u;
-	exiFrag->Signature_isUsed = 0u;
-	exiFrag->EVElectricalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVElectricalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->EVSEProcessing_isUsed = 0u;
-	exiFrag->FODStatus_isUsed = 0u;
-	exiFrag->PowerDeliveryRes_isUsed = 0u;
-	exiFrag->SessionStopRes_isUsed = 0u;
-	exiFrag->WPT_EVSEChargeParameter_isUsed = 0u;
-	exiFrag->ResponseCode_isUsed = 0u;
-	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
-	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
-	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
-	exiFrag->FinePositioningSetupReq_isUsed = 0u;
-	exiFrag->EVSEPresentCurrent_isUsed = 0u;
-	exiFrag->EVSEPresentCurrent_isUsed = 0u;
-	exiFrag->FinePositioningSetupRes_isUsed = 0u;
-	exiFrag->ProfileEntry_isUsed = 0u;
-	exiFrag->MgmtData_isUsed = 0u;
-	exiFrag->SAProvisioningCertificateChain_isUsed = 0u;
-	exiFrag->SAProvisioningCertificateChain_isUsed = 0u;
-	exiFrag->PowerDeliveryReq_isUsed = 0u;
-	exiFrag->SessionStopReq_isUsed = 0u;
-	exiFrag->ReceiptRequired_isUsed = 0u;
-	exiFrag->ReceiptRequired_isUsed = 0u;
-	exiFrag->ReceiptRequired_isUsed = 0u;
-	exiFrag->ReceiptRequired_isUsed = 0u;
-	exiFrag->ReceiptRequired_isUsed = 0u;
-	exiFrag->ChargingProfile_isUsed = 0u;
-	exiFrag->MaxSupportingPoints_isUsed = 0u;
-	exiFrag->start_isUsed = 0u;
-	exiFrag->EVMinimumChargePower_isUsed = 0u;
-	exiFrag->amount_isUsed = 0u;
-	exiFrag->PreChargeReq_isUsed = 0u;
-	exiFrag->OEMProvisioningCert_isUsed = 0u;
-	exiFrag->PackageIndex_isUsed = 0u;
-	exiFrag->PreChargeRes_isUsed = 0u;
-	exiFrag->P_isUsed = 0u;
-	exiFrag->Q_isUsed = 0u;
-	exiFrag->X509SubjectName_isUsed = 0u;
-	exiFrag->G_isUsed = 0u;
-	exiFrag->J_isUsed = 0u;
-	exiFrag->SessionID_isUsed = 0u;
-	exiFrag->ContractSignatureCertChain_isUsed = 0u;
-	exiFrag->ContractSignatureCertChain_isUsed = 0u;
-	exiFrag->ContractSignatureCertChain_isUsed = 0u;
-	exiFrag->ContractSignatureCertChain_isUsed = 0u;
-	exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 0u;
-	exiFrag->EVSEMinimumDischargeCurrent_isUsed = 0u;
-	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->AlignmentOffset_isUsed = 0u;
-	exiFrag->AlignmentOffset_isUsed = 0u;
-	exiFrag->Y_isUsed = 0u;
-	exiFrag->RemainingTimeToTargetSOC_isUsed = 0u;
-	exiFrag->DigestValue_isUsed = 0u;
-	exiFrag->SensorMeasurements_isUsed = 0u;
-	exiFrag->SalesTariff_isUsed = 0u;
-	exiFrag->EVCCID_isUsed = 0u;
-	exiFrag->EVSEMaximumPower_isUsed = 0u;
-	exiFrag->TargetOffset_isUsed = 0u;
-	exiFrag->PowerDemandParameters_isUsed = 0u;
-	exiFrag->PowerDemandParameters_isUsed = 0u;
-	exiFrag->PGPKeyID_isUsed = 0u;
-	exiFrag->DisconnectChargingDeviceReq_isUsed = 0u;
-	exiFrag->DisconnectChargingDeviceRes_isUsed = 0u;
-	exiFrag->DSAKeyValue_isUsed = 0u;
-	exiFrag->SalesTariffEntry_isUsed = 0u;
-	exiFrag->CertificateInstallationRes_isUsed = 0u;
-	exiFrag->CanonicalizationMethod_isUsed = 0u;
-	exiFrag->Generic_EVFinePositioningParameters_isUsed = 0u;
-	exiFrag->EVSEMinimumVoltage_isUsed = 0u;
-	exiFrag->SystemStatusRes_isUsed = 0u;
-	exiFrag->EVSEOutputPower_isUsed = 0u;
-	exiFrag->SignedInfo_isUsed = 0u;
-	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
-	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
-	exiFrag->costKind_isUsed = 0u;
-	exiFrag->SystemStatusReq_isUsed = 0u;
-	exiFrag->CableCheckReq_isUsed = 0u;
-	exiFrag->NumEPriceLevels_isUsed = 0u;
-	exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u;
-	exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u;
-	exiFrag->PackageSeparationTime_isUsed = 0u;
-	exiFrag->PackageSeparationTime_isUsed = 0u;
-	exiFrag->CableCheckRes_isUsed = 0u;
-	exiFrag->EVCheckInStatus_isUsed = 0u;
-	exiFrag->PMaxDischargeSchedule_isUsed = 0u;
-	exiFrag->EVMinimumPower_isUsed = 0u;
-	exiFrag->ChargingPerformance_isUsed = 0u;
-	exiFrag->AlignmentCheckReq_isUsed = 0u;
-	exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->VehicleSpace_isUsed = 0u;
-	exiFrag->AlignmentCheckRes_isUsed = 0u;
-	exiFrag->EVMinimumDischargePower_isUsed = 0u;
-	exiFrag->RemainingTimeToMinimumSOC_isUsed = 0u;
-	exiFrag->AuthorizationRes_isUsed = 0u;
-	exiFrag->CertificateInstallationReq_isUsed = 0u;
-	exiFrag->PaymentDetailsReq_isUsed = 0u;
-	exiFrag->PaymentDetailsRes_isUsed = 0u;
-	exiFrag->AuthorizationReq_isUsed = 0u;
-	exiFrag->EVTargetCurrent_isUsed = 0u;
-	exiFrag->EVTargetCurrent_isUsed = 0u;
-	exiFrag->EVTargetCurrent_isUsed = 0u;
-	exiFrag->SessionSetupReq_isUsed = 0u;
-	exiFrag->SessionSetupRes_isUsed = 0u;
-	exiFrag->EVSENominalFrequency_isUsed = 0u;
-	exiFrag->EVSENominalFrequency_isUsed = 0u;
-	exiFrag->Header_isUsed = 0u;
-	exiFrag->NumberOfSensors_isUsed = 0u;
-	exiFrag->NumberOfSensors_isUsed = 0u;
-	exiFrag->EVSETimeStamp_isUsed = 0u;
-	exiFrag->EVSETimeStamp_isUsed = 0u;
-	exiFrag->MeterStatus_isUsed = 0u;
-	exiFrag->EVSEMaximumPower_isUsed = 0u;
-	exiFrag->MV_EVSEFinePositioningParameters_isUsed = 0u;
-	exiFrag->ChargeProgress_isUsed = 0u;
-	exiFrag->KeyName_isUsed = 0u;
-	exiFrag->PMaxSchedule_isUsed = 0u;
-	exiFrag->duration_isUsed = 0u;
-	exiFrag->RemainingTimeToBulkSOC_isUsed = 0u;
-	exiFrag->SensorOrientation_isUsed = 0u;
-	exiFrag->EVSEMinimumVoltage_isUsed = 0u;
-	exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->VehicleCheckInRes_isUsed = 0u;
-	exiFrag->PMaxScheduleEntry_isUsed = 0u;
-	exiFrag->SAScheduleList_isUsed = 0u;
-	exiFrag->X509SKI_isUsed = 0u;
-	exiFrag->PaymentOptionList_isUsed = 0u;
-	exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u;
-	exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u;
-	exiFrag->VehicleCheckInReq_isUsed = 0u;
-	exiFrag->Certificate_isUsed = 0u;
-	exiFrag->Certificate_isUsed = 0u;
-	exiFrag->CheckOutTime_isUsed = 0u;
-	exiFrag->CurrentSOC_isUsed = 0u;
-	exiFrag->CurrentSOC_isUsed = 0u;
-	exiFrag->ZCoordinate_isUsed = 0u;
-	exiFrag->MeasurementData_isUsed = 0u;
-	exiFrag->PairingRes_isUsed = 0u;
-	exiFrag->EVSEMaximumCurrent_isUsed = 0u;
-	exiFrag->LFA_EVFinePositioningParameters_isUsed = 0u;
-	exiFrag->AlignmentCheckParameters_isUsed = 0u;
-	exiFrag->AlignmentCheckParameters_isUsed = 0u;
-	exiFrag->EffectiveRadiatedPower_isUsed = 0u;
-	exiFrag->EVErrorInformation_isUsed = 0u;
-	exiFrag->PairingReq_isUsed = 0u;
-	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
-	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
-	exiFrag->Value_isUsed = 0u;
-	exiFrag->byteValue_isUsed = 0u;
-	exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->CurrentDemandReq_isUsed = 0u;
-	exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 0u;
-	exiFrag->CurrentDemandRes_isUsed = 0u;
-	exiFrag->SAScheduleList_isUsed = 0u;
-	exiFrag->AC_EVBidirectionalParameter_isUsed = 0u;
-	exiFrag->Modulus_isUsed = 0u;
-	exiFrag->SelectedEnergyTransferService_isUsed = 0u;
-	exiFrag->startValue_isUsed = 0u;
-	exiFrag->SelectedVASList_isUsed = 0u;
-	exiFrag->EVSEMaximumDischargePower_isUsed = 0u;
-	exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u;
-	exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u;
-	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->SigMeterReading_isUsed = 0u;
-	exiFrag->TargetSOC_isUsed = 0u;
-	exiFrag->TargetSOC_isUsed = 0u;
-	exiFrag->EVMaximumPower_isUsed = 0u;
-	exiFrag->EVSEMaximumChargePower_isUsed = 0u;
-	exiFrag->EVSEStatus_isUsed = 0u;
-	exiFrag->EVSEMinimumChargeCurrent_isUsed = 0u;
-	exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->X509SerialNumber_isUsed = 0u;
-	exiFrag->PaymentOption_isUsed = 0u;
-	exiFrag->Transforms_isUsed = 0u;
-	exiFrag->EVSEPeakCurrentRipple_isUsed = 0u;
-	exiFrag->ConsumptionCost_isUsed = 0u;
-	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
-	exiFrag->EVSEFinePositioningSetupParameters_isUsed = 0u;
-	exiFrag->EPriceLevel_isUsed = 0u;
-	exiFrag->Exponent_isUsed = 0u;
-	exiFrag->X509IssuerSerial_isUsed = 0u;
-	exiFrag->SPKIData_isUsed = 0u;
-	exiFrag->MagneticVectorList_isUsed = 0u;
-	exiFrag->EVSEFinePositioningParameters_isUsed = 0u;
-	exiFrag->EVTargetPower_isUsed = 0u;
-	exiFrag->SensorPackageList_isUsed = 0u;
-	exiFrag->SensorPackageList_isUsed = 0u;
-	exiFrag->DepartureTime_isUsed = 0u;
-	exiFrag->LF_EVSEFinePositioningParameters_isUsed = 0u;
-	exiFrag->InletHot_isUsed = 0u;
-	exiFrag->EVPresentActivePower_isUsed = 0u;
-	exiFrag->X509Data_isUsed = 0u;
-	exiFrag->YCoordinate_isUsed = 0u;
-	exiFrag->KeyValue_isUsed = 0u;
-	exiFrag->DisplayParameters_isUsed = 0u;
-	exiFrag->EVSEPowerLimitAchieved_isUsed = 0u;
-	exiFrag->EVSEPowerLimitAchieved_isUsed = 0u;
-	exiFrag->Body_isUsed = 0u;
-	exiFrag->DC_EVChargeParameter_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->SAScheduleTupleID_isUsed = 0u;
-	exiFrag->Service_isUsed = 0u;
-	exiFrag->EVMinimumDischargeCurrent_isUsed = 0u;
-	exiFrag->EVMinimumDischargeCurrent_isUsed = 0u;
-	exiFrag->SignatureProperty_isUsed = 0u;
-	exiFrag->PGPKeyPacket_isUsed = 0u;
-	exiFrag->PGPKeyPacket_isUsed = 0u;
-	exiFrag->Seed_isUsed = 0u;
-	exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 0u;
-	exiFrag->MinimumPMaxRequest_isUsed = 0u;
-	exiFrag->FinePositioningReq_isUsed = 0u;
-	exiFrag->EnergyTransferServiceList_isUsed = 0u;
-	exiFrag->FinePositioningRes_isUsed = 0u;
-	exiFrag->AC_EVSEBidirectionalParameter_isUsed = 0u;
-	exiFrag->FreeService_isUsed = 0u;
-	exiFrag->EVMinimumVoltage_isUsed = 0u;
-	exiFrag->AC_EVSEChargeParameter_isUsed = 0u;
-	exiFrag->EVMaximumVoltage_isUsed = 0u;
-	exiFrag->EVMaximumVoltage_isUsed = 0u;
-	exiFrag->SensorID_isUsed = 0u;
-	exiFrag->SensorID_isUsed = 0u;
-	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
-	exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u;
-	exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u;
-	exiFrag->ServiceID_isUsed = 0u;
-	exiFrag->ServiceID_isUsed = 0u;
-	exiFrag->ServiceID_isUsed = 0u;
-	exiFrag->EVEnergyTransferParameter_isUsed = 0u;
-	exiFrag->SignalPulseDuration_isUsed = 0u;
-	exiFrag->SignalPulseDuration_isUsed = 0u;
-	exiFrag->shortValue_isUsed = 0u;
-	exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u;
-	exiFrag->Manifest_isUsed = 0u;
-	exiFrag->DC_EVSEChargeParameter_isUsed = 0u;
-	exiFrag->MeteringReceiptReq_isUsed = 0u;
-	exiFrag->MeterID_isUsed = 0u;
-	exiFrag->MeteringReceiptRes_isUsed = 0u;
-	exiFrag->ServiceDiscoveryReq_isUsed = 0u;
-	exiFrag->SalesTariffID_isUsed = 0u;
-	exiFrag->ServiceDiscoveryRes_isUsed = 0u;
-	exiFrag->X509CRL_isUsed = 0u;
-	exiFrag->MagneticVectorSetup_isUsed = 0u;
-	exiFrag->ErrorCode_isUsed = 0u;
-	exiFrag->ErrorCode_isUsed = 0u;
-	exiFrag->DigestMethod_isUsed = 0u;
-	exiFrag->SPKISexp_isUsed = 0u;
-	exiFrag->MeterReadingDischarged_isUsed = 0u;
-	exiFrag->SignatureProperties_isUsed = 0u;
-	exiFrag->SensorPosition_isUsed = 0u;
-	exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u;
-	exiFrag->eMAID_isUsed = 0u;
-	exiFrag->eMAID_isUsed = 0u;
-	exiFrag->eMAID_isUsed = 0u;
-	exiFrag->eMAID_isUsed = 0u;
-	exiFrag->SensorPackage_isUsed = 0u;
-	exiFrag->EVCheckOutStatus_isUsed = 0u;
-	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
-	exiFrag->X509Certificate_isUsed = 0u;
-	exiFrag->RootCertificateID_isUsed = 0u;
-	exiFrag->DC_BidirectionalControlReq_isUsed = 0u;
-	exiFrag->EVSEPresentVoltage_isUsed = 0u;
-	exiFrag->EVSEPresentVoltage_isUsed = 0u;
-	exiFrag->DC_BidirectionalControlRes_isUsed = 0u;
-	exiFrag->EVSEPresentVoltage_isUsed = 0u;
-	exiFrag->VASList_isUsed = 0u;
-	exiFrag->EVSEPresentVoltage_isUsed = 0u;
-	exiFrag->MeterInfo_isUsed = 0u;
-	exiFrag->MeterInfo_isUsed = 0u;
-	exiFrag->MeterInfo_isUsed = 0u;
-	exiFrag->MeterInfo_isUsed = 0u;
-	exiFrag->MeterInfo_isUsed = 0u;
-	exiFrag->MeterInfo_isUsed = 0u;
-	exiFrag->EVSETargetReactivePower_isUsed = 0u;
-	exiFrag->ChargingStatusReq_isUsed = 0u;
-	exiFrag->GenericParameters_isUsed = 0u;
-	exiFrag->GenericParameters_isUsed = 0u;
-	exiFrag->ChargingStatusRes_isUsed = 0u;
-	exiFrag->EVMaximumChargePower_isUsed = 0u;
-	exiFrag->EVMaximumChargePower_isUsed = 0u;
-	exiFrag->BulkSOC_isUsed = 0u;
-	exiFrag->BulkSOC_isUsed = 0u;
-	exiFrag->NumberOfSignalPackages_isUsed = 0u;
-	exiFrag->NumberOfSignalPackages_isUsed = 0u;
-	exiFrag->ParameterSetID_isUsed = 0u;
-	exiFrag->PMax_isUsed = 0u;
-	exiFrag->ParameterSetID_isUsed = 0u;
-	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
-	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
-	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
-	exiFrag->EVOperation_isUsed = 0u;
-	exiFrag->EVOperation_isUsed = 0u;
-	exiFrag->CertificateUpdateRes_isUsed = 0u;
-	exiFrag->ChargingComplete_isUsed = 0u;
-	exiFrag->ListOfRootCertificateIDs_isUsed = 0u;
-	exiFrag->ListOfRootCertificateIDs_isUsed = 0u;
-	exiFrag->RotationVAtoGA_isUsed = 0u;
-	exiFrag->EVTargetVoltage_isUsed = 0u;
-	exiFrag->EVTargetVoltage_isUsed = 0u;
-	exiFrag->EVTargetVoltage_isUsed = 0u;
-	exiFrag->CertificateUpdateReq_isUsed = 0u;
-	exiFrag->ConnectChargingDeviceRes_isUsed = 0u;
-	exiFrag->DHpublickey_isUsed = 0u;
-	exiFrag->DHpublickey_isUsed = 0u;
-	exiFrag->ServiceParameterList_isUsed = 0u;
-	exiFrag->SignatureValue_isUsed = 0u;
-	exiFrag->physicalValue_isUsed = 0u;
-	exiFrag->Exponent_isUsed = 0u;
-	exiFrag->OperationMode_isUsed = 0u;
-	exiFrag->OperationMode_isUsed = 0u;
-	exiFrag->EVSECurrentLimitAchieved_isUsed = 0u;
-	exiFrag->EVSECurrentLimitAchieved_isUsed = 0u;
-	exiFrag->ServiceDetailReq_isUsed = 0u;
-	exiFrag->ServiceDetailRes_isUsed = 0u;
-	exiFrag->EVSEMaximumVoltage_isUsed = 0u;
-	exiFrag->intValue_isUsed = 0u;
-	exiFrag->EVMaximumDischargePower_isUsed = 0u;
-	exiFrag->EVMaximumDischargePower_isUsed = 0u;
-	exiFrag->MinimumSOC_isUsed = 0u;
-	exiFrag->MinimumSOC_isUsed = 0u;
-	exiFrag->SelectedPaymentOption_isUsed = 0u;
-	exiFrag->V2G_Message_isUsed = 0u;
-	exiFrag->EVSEID_isUsed = 0u;
-	exiFrag->EVSEID_isUsed = 0u;
-	exiFrag->EVSEID_isUsed = 0u;
-	exiFrag->EVSEID_isUsed = 0u;
-	exiFrag->EVSEID_isUsed = 0u;
-	exiFrag->EVSEID_isUsed = 0u;
-	exiFrag->TMeter_isUsed = 0u;
-	exiFrag->SensorOrder_isUsed = 0u;
-	exiFrag->SensorOrder_isUsed = 0u;
-	exiFrag->SupportedServiceIDs_isUsed = 0u;
-	exiFrag->GenChallenge_isUsed = 0u;
-	exiFrag->GenChallenge_isUsed = 0u;
-	exiFrag->EVFinePositioningParameters_isUsed = 0u;
-	exiFrag->SensorList_isUsed = 0u;
-	exiFrag->SensorList_isUsed = 0u;
-	exiFrag->KeyInfo_isUsed = 0u;
-	exiFrag->ConnectChargingDeviceReq_isUsed = 0u;
-	exiFrag->AC_EVChargeParameter_isUsed = 0u;
-	exiFrag->Parameter_isUsed = 0u;
-	exiFrag->WeldingDetectionRes_isUsed = 0u;
-	exiFrag->GAID_isUsed = 0u;
-	exiFrag->GAID_isUsed = 0u;
-	exiFrag->SignalFrequency_isUsed = 0u;
-	exiFrag->EVSETargetPower_isUsed = 0u;
-	exiFrag->DC_EVBidirectionalParameter_isUsed = 0u;
-	exiFrag->EVSETargetPower_isUsed = 0u;
-	exiFrag->SignatureMethod_isUsed = 0u;
-	exiFrag->WeldingDetectionReq_isUsed = 0u;
-	exiFrag->SelectedService_isUsed = 0u;
-	exiFrag->EVSEErrorInformation_isUsed = 0u;
-	exiFrag->EVInputPower_isUsed = 0u;
-	exiFrag->VehicleCheckOutReq_isUsed = 0u;
-	exiFrag->EVMaximumDischargePower_isUsed = 0u;
-	exiFrag->EVMaximumDischargePower_isUsed = 0u;
-	exiFrag->PowerDemandReq_isUsed = 0u;
-	exiFrag->VehicleCheckOutRes_isUsed = 0u;
-	exiFrag->CurrentRange_isUsed = 0u;
-	exiFrag->EVPresentReactivePower_isUsed = 0u;
-	exiFrag->X509IssuerName_isUsed = 0u;
-	exiFrag->V2GRequest_isUsed = 0u;
-	exiFrag->Reference_isUsed = 0u;
-	exiFrag->BodyElement_isUsed = 0u;
-	exiFrag->MinimumPMaxScheduleEntry_isUsed = 0u;
-	exiFrag->EVFinePositioningSetupParameters_isUsed = 0u;
-	exiFrag->EVSENotification_isUsed = 0u;
-	exiFrag->PaymentServiceSelectionReq_isUsed = 0u;
-	exiFrag->EVMaximumChargePower_isUsed = 0u;
-	exiFrag->EVMaximumChargePower_isUsed = 0u;
-	exiFrag->EVMaximumChargePower_isUsed = 0u;
-	exiFrag->PaymentServiceSelectionRes_isUsed = 0u;
-	exiFrag->Transform_isUsed = 0u;
-	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
-	exiFrag->Object_isUsed = 0u;
-	exiFrag->TargetOffsetY_isUsed = 0u;
-	exiFrag->PowerDemandRes_isUsed = 0u;
-	exiFrag->TargetOffsetX_isUsed = 0u;
-}
-#endif /* DEPLOY_ISO_CODEC_FRAGMENT */
-
-void init_v2gSignatureValueType(struct v2gSignatureValueType* v2gSignatureValueType) {
-	v2gSignatureValueType->Id_isUsed = 0u;
-}
-
-void init_v2gEVSEFinePositioningSetupParametersType(struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType) {
-	(void)v2gEVSEFinePositioningSetupParametersType; /* avoid unused warning */
-}
-
-void init_v2gAlignmentCheckResType(struct v2gAlignmentCheckResType* v2gAlignmentCheckResType) {
-	v2gAlignmentCheckResType->EVSEStatus_isUsed = 0u;
-	v2gAlignmentCheckResType->AlignmentCheckParameters_isUsed = 0u;
-}
-
-void init_v2gSalesTariffType(struct v2gSalesTariffType* v2gSalesTariffType) {
-	v2gSalesTariffType->SalesTariffDescription_isUsed = 0u;
-	v2gSalesTariffType->NumEPriceLevels_isUsed = 0u;
-	v2gSalesTariffType->SalesTariffEntry.arrayLen = 0u;
-}
-
-void init_v2gFinePositioningSetupReqType(struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType) {
-	v2gFinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 0u;
-	v2gFinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 0u;
-}
-
-void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType) {
-	v2gSubCertificatesType->Certificate.arrayLen = 0u;
-}
-
-void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) {
-	v2gCertificateInstallationResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType) {
-	v2gMeterInfoType->MeterReadingCharged_isUsed = 0u;
-	v2gMeterInfoType->MeterReadingDischarged_isUsed = 0u;
-	v2gMeterInfoType->SigMeterReading_isUsed = 0u;
-	v2gMeterInfoType->MeterStatus_isUsed = 0u;
-	v2gMeterInfoType->TMeter_isUsed = 0u;
-}
-
-void init_v2gChargeLoopReqType(struct v2gChargeLoopReqType* v2gChargeLoopReqType) {
-	v2gChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gChargeLoopReqType->DisplayParameters_isUsed = 0u;
-}
-
-void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType) {
-	v2gMessageHeaderType->Signature_isUsed = 0u;
-}
-
-void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType) {
-	v2gSignatureType->Id_isUsed = 0u;
-	v2gSignatureType->KeyInfo_isUsed = 0u;
-	v2gSignatureType->Object.arrayLen = 0u;
-}
-
-void init_v2gBodyType(struct v2gBodyType* v2gBodyType) {
-	v2gBodyType->BodyElement_isUsed = 0u;
-	v2gBodyType->V2GRequest_isUsed = 0u;
-	v2gBodyType->DisconnectChargingDeviceReq_isUsed = 0u;
-	v2gBodyType->ConnectChargingDeviceReq_isUsed = 0u;
-	v2gBodyType->SystemStatusReq_isUsed = 0u;
-	v2gBodyType->DC_BidirectionalControlReq_isUsed = 0u;
-	v2gBodyType->AC_BidirectionalControlReq_isUsed = 0u;
-	v2gBodyType->VehicleCheckOutReq_isUsed = 0u;
-	v2gBodyType->VehicleCheckInReq_isUsed = 0u;
-	v2gBodyType->PowerDemandReq_isUsed = 0u;
-	v2gBodyType->PairingReq_isUsed = 0u;
-	v2gBodyType->AlignmentCheckReq_isUsed = 0u;
-	v2gBodyType->FinePositioningReq_isUsed = 0u;
-	v2gBodyType->FinePositioningSetupReq_isUsed = 0u;
-	v2gBodyType->WeldingDetectionReq_isUsed = 0u;
-	v2gBodyType->CurrentDemandReq_isUsed = 0u;
-	v2gBodyType->PreChargeReq_isUsed = 0u;
-	v2gBodyType->CableCheckReq_isUsed = 0u;
-	v2gBodyType->ChargingStatusReq_isUsed = 0u;
-	v2gBodyType->CertificateInstallationReq_isUsed = 0u;
-	v2gBodyType->CertificateUpdateReq_isUsed = 0u;
-	v2gBodyType->SessionStopReq_isUsed = 0u;
-	v2gBodyType->MeteringReceiptReq_isUsed = 0u;
-	v2gBodyType->PowerDeliveryReq_isUsed = 0u;
-	v2gBodyType->ChargeParameterDiscoveryReq_isUsed = 0u;
-	v2gBodyType->AuthorizationReq_isUsed = 0u;
-	v2gBodyType->PaymentDetailsReq_isUsed = 0u;
-	v2gBodyType->PaymentServiceSelectionReq_isUsed = 0u;
-	v2gBodyType->ServiceDetailReq_isUsed = 0u;
-	v2gBodyType->ServiceDiscoveryReq_isUsed = 0u;
-	v2gBodyType->SessionSetupReq_isUsed = 0u;
-	v2gBodyType->V2GResponse_isUsed = 0u;
-	v2gBodyType->DisconnectChargingDeviceRes_isUsed = 0u;
-	v2gBodyType->ConnectChargingDeviceRes_isUsed = 0u;
-	v2gBodyType->SystemStatusRes_isUsed = 0u;
-	v2gBodyType->DC_BidirectionalControlRes_isUsed = 0u;
-	v2gBodyType->AC_BidirectionalControlRes_isUsed = 0u;
-	v2gBodyType->VehicleCheckOutRes_isUsed = 0u;
-	v2gBodyType->VehicleCheckInRes_isUsed = 0u;
-	v2gBodyType->PowerDemandRes_isUsed = 0u;
-	v2gBodyType->PairingRes_isUsed = 0u;
-	v2gBodyType->AlignmentCheckRes_isUsed = 0u;
-	v2gBodyType->FinePositioningRes_isUsed = 0u;
-	v2gBodyType->FinePositioningSetupRes_isUsed = 0u;
-	v2gBodyType->WeldingDetectionRes_isUsed = 0u;
-	v2gBodyType->CurrentDemandRes_isUsed = 0u;
-	v2gBodyType->PreChargeRes_isUsed = 0u;
-	v2gBodyType->CableCheckRes_isUsed = 0u;
-	v2gBodyType->ChargingStatusRes_isUsed = 0u;
-	v2gBodyType->CertificateInstallationRes_isUsed = 0u;
-	v2gBodyType->CertificateUpdateRes_isUsed = 0u;
-	v2gBodyType->SessionStopRes_isUsed = 0u;
-	v2gBodyType->MeteringReceiptRes_isUsed = 0u;
-	v2gBodyType->PowerDeliveryRes_isUsed = 0u;
-	v2gBodyType->ChargeParameterDiscoveryRes_isUsed = 0u;
-	v2gBodyType->AuthorizationRes_isUsed = 0u;
-	v2gBodyType->PaymentDetailsRes_isUsed = 0u;
-	v2gBodyType->PaymentServiceSelectionRes_isUsed = 0u;
-	v2gBodyType->ServiceDetailRes_isUsed = 0u;
-	v2gBodyType->ServiceDiscoveryRes_isUsed = 0u;
-	v2gBodyType->SessionSetupRes_isUsed = 0u;
-	v2gBodyType->ErrorInformation_isUsed = 0u;
-	v2gBodyType->EVSEErrorInformation_isUsed = 0u;
-	v2gBodyType->EVErrorInformation_isUsed = 0u;
-}
-
-void init_v2gFinePositioningReqType(struct v2gFinePositioningReqType* v2gFinePositioningReqType) {
-	v2gFinePositioningReqType->EVFinePositioningParameters_isUsed = 0u;
-	v2gFinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 0u;
-	v2gFinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 0u;
-}
-
-void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) {
-	v2gPMaxScheduleEntryType->PMax.arrayLen = 0u;
-}
-
-void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType) {
-	(void)v2gPreChargeReqType; /* avoid unused warning */
-}
-
-void init_v2gVehicleCheckInResType(struct v2gVehicleCheckInResType* v2gVehicleCheckInResType) {
-	v2gVehicleCheckInResType->EVSEStatus_isUsed = 0u;
-	v2gVehicleCheckInResType->TargetOffset_isUsed = 0u;
-}
-
-void init_v2gV2GRequestType(struct v2gV2GRequestType* v2gV2GRequestType) {
-	(void)v2gV2GRequestType; /* avoid unused warning */
-}
-
-void init_v2gLF_EVSEFinePositioningParametersType(struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType) {
-	(void)v2gLF_EVSEFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) {
-	v2gSignaturePropertiesType->Id_isUsed = 0u;
-	v2gSignaturePropertiesType->SignatureProperty.arrayLen = 0u;
-}
-
-void init_v2gMagneticVectorSetupListType(struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType) {
-	v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen = 0u;
-}
-
-void init_v2gSensorMeasurementsType(struct v2gSensorMeasurementsType* v2gSensorMeasurementsType) {
-	v2gSensorMeasurementsType->MeasurementData.arrayLen = 0u;
-}
-
-void init_v2gAC_EVSEBidirectionalParameterType(struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType) {
-	(void)v2gAC_EVSEBidirectionalParameterType; /* avoid unused warning */
-}
-
-void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType) {
-	v2gConsumptionCostType->Cost.arrayLen = 0u;
-}
-
-void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType) {
-	v2gAuthorizationResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gGeneric_EVFinePositioningParametersType(struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType) {
-	(void)v2gGeneric_EVFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType) {
-	(void)v2gEVSEStatusType; /* avoid unused warning */
-}
-
-void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) {
-	(void)v2gX509IssuerSerialType; /* avoid unused warning */
-}
-
-void init_v2gAC_EVBidirectionalParameterType(struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType) {
-	v2gAC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u;
-	v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u;
-}
-
-void init_v2gEVFinePositioningSetupParametersType(struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType) {
-	(void)v2gEVFinePositioningSetupParametersType; /* avoid unused warning */
-}
-
-void init_v2gMV_EVSEFinePositioningSetupParametersType(struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType) {
-	v2gMV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 0u;
-	v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 0u;
-}
-
-void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) {
-	v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
-}
-
-void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType) {
-	v2gAuthorizationReqType->Id_isUsed = 0u;
-	v2gAuthorizationReqType->GenChallenge_isUsed = 0u;
-}
-
-void init_v2gChargingStatusReqType(struct v2gChargingStatusReqType* v2gChargingStatusReqType) {
-	v2gChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gChargingStatusReqType->DisplayParameters_isUsed = 0u;
-	v2gChargingStatusReqType->EVMaximumChargePower_isUsed = 0u;
-	v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 0u;
-	v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 0u;
-}
-
-void init_v2gManifestType(struct v2gManifestType* v2gManifestType) {
-	v2gManifestType->Id_isUsed = 0u;
-	v2gManifestType->Reference.arrayLen = 0u;
-}
-
-void init_v2gSensorType(struct v2gSensorType* v2gSensorType) {
-	(void)v2gSensorType; /* avoid unused warning */
-}
-
-void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) {
-	v2gAC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u;
-	v2gAC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u;
-}
-
-void init_v2gMagneticVectorListType(struct v2gMagneticVectorListType* v2gMagneticVectorListType) {
-	v2gMagneticVectorListType->MagneticVector.arrayLen = 0u;
-}
-
-void init_v2gAlignmentCheckReqType(struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType) {
-	v2gAlignmentCheckReqType->AlignmentCheckParameters_isUsed = 0u;
-}
-
-void init_v2gEVSEErrorInformationType(struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType) {
-	(void)v2gEVSEErrorInformationType; /* avoid unused warning */
-}
-
-void init_v2gWPT_EVSEChargeParameterType(struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType) {
-	(void)v2gWPT_EVSEChargeParameterType; /* avoid unused warning */
-}
-
-void init_v2gDisplayParametersType(struct v2gDisplayParametersType* v2gDisplayParametersType) {
-	v2gDisplayParametersType->CurrentRange_isUsed = 0u;
-	v2gDisplayParametersType->CurrentSOC_isUsed = 0u;
-	v2gDisplayParametersType->TargetSOC_isUsed = 0u;
-	v2gDisplayParametersType->BulkSOC_isUsed = 0u;
-	v2gDisplayParametersType->MinimumSOC_isUsed = 0u;
-	v2gDisplayParametersType->ChargingPerformance_isUsed = 0u;
-	v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed = 0u;
-	v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed = 0u;
-	v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 0u;
-	v2gDisplayParametersType->ChargingComplete_isUsed = 0u;
-	v2gDisplayParametersType->BulkChargingComplete_isUsed = 0u;
-	v2gDisplayParametersType->InletHot_isUsed = 0u;
-}
-
-void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType) {
-	v2gSignatureMethodType->HMACOutputLength_isUsed = 0u;
-	v2gSignatureMethodType->ANY_isUsed = 0u;
-}
-
-void init_v2gTargetPositionType(struct v2gTargetPositionType* v2gTargetPositionType) {
-	(void)v2gTargetPositionType; /* avoid unused warning */
-}
-
-void init_v2gEVFinePositioningParametersType(struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType) {
-	(void)v2gEVFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gVehicleCheckOutReqType(struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType) {
-	(void)v2gVehicleCheckOutReqType; /* avoid unused warning */
-}
-
-void init_v2gFinePositioningSetupResType(struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType) {
-	v2gFinePositioningSetupResType->EVSEStatus_isUsed = 0u;
-	v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 0u;
-	v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u;
-	v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 0u;
-}
-
-void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType) {
-	v2gSAScheduleListType->SAScheduleTuple.arrayLen = 0u;
-}
-
-void init_v2gSystemStatusReqType(struct v2gSystemStatusReqType* v2gSystemStatusReqType) {
-	(void)v2gSystemStatusReqType; /* avoid unused warning */
-}
-
-void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType) {
-	v2gCertificateChainType->Id_isUsed = 0u;
-	v2gCertificateChainType->SubCertificates_isUsed = 0u;
-}
-
-void init_v2gCostType(struct v2gCostType* v2gCostType) {
-	(void)v2gCostType; /* avoid unused warning */
-}
-
-void init_v2gServiceType(struct v2gServiceType* v2gServiceType) {
-	(void)v2gServiceType; /* avoid unused warning */
-}
-
-void init_v2gServiceParameterListType(struct v2gServiceParameterListType* v2gServiceParameterListType) {
-	v2gServiceParameterListType->ParameterSet.arrayLen = 0u;
-}
-
-void init_v2gSignedInfoType(struct v2gSignedInfoType* v2gSignedInfoType) {
-	v2gSignedInfoType->Id_isUsed = 0u;
-	v2gSignedInfoType->Reference.arrayLen = 0u;
-}
-
-void init_v2gEVErrorInformationType(struct v2gEVErrorInformationType* v2gEVErrorInformationType) {
-	(void)v2gEVErrorInformationType; /* avoid unused warning */
-}
-
-void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) {
-	v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
-}
-
-void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType) {
-	v2gSPKIDataType->SPKISexp.arrayLen = 0u;
-	v2gSPKIDataType->ANY_isUsed = 0u;
-}
-
-void init_v2gDC_BidirectionalControlReqType(struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType) {
-	v2gDC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u;
-	v2gDC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u;
-	v2gDC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 0u;
-	v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u;
-}
-
-void init_v2gPairingResType(struct v2gPairingResType* v2gPairingResType) {
-	v2gPairingResType->EVSEStatus_isUsed = 0u;
-	v2gPairingResType->PairingParameters_isUsed = 0u;
-}
-
-void init_v2gCartesianCoordinatesType(struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType) {
-	(void)v2gCartesianCoordinatesType; /* avoid unused warning */
-}
-
-void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) {
-	v2gChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 0u;
-}
-
-void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) {
-	v2gChargeParameterDiscoveryResType->EVSEStatus_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 0u;
-	v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 0u;
-}
-
-void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType) {
-	(void)v2gRSAKeyValueType; /* avoid unused warning */
-}
-
-void init_v2gLFA_EVFinePositioningSetupParametersType(struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType) {
-	v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen = 0u;
-}
-
-void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType) {
-	(void)v2gSelectedServiceType; /* avoid unused warning */
-}
-
-void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType) {
-	v2gSignaturePropertyType->Id_isUsed = 0u;
-	v2gSignaturePropertyType->ANY_isUsed = 0u;
-}
-
-void init_v2gAC_BidirectionalControlResType(struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType) {
-	v2gAC_BidirectionalControlResType->EVSEStatus_isUsed = 0u;
-	v2gAC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u;
-	v2gAC_BidirectionalControlResType->MeterInfo_isUsed = 0u;
-	v2gAC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u;
-}
-
-void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType) {
-	v2gPGPDataType->PGPKeyID_isUsed = 0u;
-	v2gPGPDataType->PGPKeyPacket_isUsed = 0u;
-	v2gPGPDataType->ANY_isUsed = 0u;
-}
-
-void init_v2gSystemStatusResType(struct v2gSystemStatusResType* v2gSystemStatusResType) {
-	v2gSystemStatusResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) {
-	v2gCertificateUpdateResType->EVSEStatus_isUsed = 0u;
-	v2gCertificateUpdateResType->RetryCounter_isUsed = 0u;
-}
-
-void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType) {
-	v2gParameterSetType->Parameter.arrayLen = 0u;
-}
-
-void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) {
-	v2gSAScheduleTupleType->PMaxDischargeSchedule_isUsed = 0u;
-	v2gSAScheduleTupleType->SalesTariff_isUsed = 0u;
-	v2gSAScheduleTupleType->BuyBackTariff_isUsed = 0u;
-}
-
-void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType) {
-	v2gDSAKeyValueType->P_isUsed = 0u;
-	v2gDSAKeyValueType->Q_isUsed = 0u;
-	v2gDSAKeyValueType->G_isUsed = 0u;
-	v2gDSAKeyValueType->J_isUsed = 0u;
-	v2gDSAKeyValueType->Seed_isUsed = 0u;
-	v2gDSAKeyValueType->PgenCounter_isUsed = 0u;
-}
-
-void init_v2gMagneticVectorType(struct v2gMagneticVectorType* v2gMagneticVectorType) {
-	(void)v2gMagneticVectorType; /* avoid unused warning */
-}
-
-void init_v2gServiceIDListType(struct v2gServiceIDListType* v2gServiceIDListType) {
-	v2gServiceIDListType->ServiceID.arrayLen = 0u;
-}
-
-void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType) {
-	v2gX509DataType->X509IssuerSerial.arrayLen = 0u;
-	v2gX509DataType->X509SKI.arrayLen = 0u;
-	v2gX509DataType->X509SubjectName.arrayLen = 0u;
-	v2gX509DataType->X509Certificate.arrayLen = 0u;
-	v2gX509DataType->X509CRL.arrayLen = 0u;
-	v2gX509DataType->ANY_isUsed = 0u;
-}
-
-void init_v2gEVEnergyTransferParameterType(struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType) {
-	(void)v2gEVEnergyTransferParameterType; /* avoid unused warning */
-}
-
-void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType) {
-	v2gPreChargeResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gFinePositioningResType(struct v2gFinePositioningResType* v2gFinePositioningResType) {
-	v2gFinePositioningResType->EVSEStatus_isUsed = 0u;
-	v2gFinePositioningResType->EVSEFinePositioningParameters_isUsed = 0u;
-	v2gFinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 0u;
-	v2gFinePositioningResType->LF_EVSEFinePositioningParameters_isUsed = 0u;
-	v2gFinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 0u;
-}
-
-void init_v2gLFA_EVSEFinePositioningSetupParametersType(struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType) {
-	v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen = 0u;
-}
-
-void init_v2gMinimumPMaxRequestType(struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType) {
-	v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen = 0u;
-}
-
-void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) {
-	v2gCanonicalizationMethodType->ANY_isUsed = 0u;
-}
-
-void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) {
-	(void)v2gCertificateInstallationReqType; /* avoid unused warning */
-}
-
-void init_v2gVehicleCheckInReqType(struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType) {
-	v2gVehicleCheckInReqType->ParkingMethod_isUsed = 0u;
-}
-
-void init_v2gMV_EVSEFinePositioningParametersType(struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType) {
-	(void)v2gMV_EVSEFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) {
-	v2gPowerDeliveryResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gEVSEEnergyTransferParameterType(struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType) {
-	(void)v2gEVSEEnergyTransferParameterType; /* avoid unused warning */
-}
-
-void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) {
-	(void)v2gDiffieHellmanPublickeyType; /* avoid unused warning */
-}
-
-void init_v2gV2GResponseType(struct v2gV2GResponseType* v2gV2GResponseType) {
-	v2gV2GResponseType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType) {
-	v2gCableCheckResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) {
-	v2gSalesTariffEntryType->EPriceLevel_isUsed = 0u;
-	v2gSalesTariffEntryType->ConsumptionCost.arrayLen = 0u;
-}
-
-void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType) {
-	v2gChargingProfileType->ProfileEntry.arrayLen = 0u;
-}
-
-void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) {
-	v2gServiceDiscoveryResType->EVSEStatus_isUsed = 0u;
-	v2gServiceDiscoveryResType->VASList_isUsed = 0u;
-}
-
-void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType) {
-	v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u;
-}
-
-void init_v2gSensorPackageType(struct v2gSensorPackageType* v2gSensorPackageType) {
-	v2gSensorPackageType->SensorMeasurements.arrayLen = 0u;
-}
-
-void init_v2gDC_EVSEBidirectionalParameterType(struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType) {
-	v2gDC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
-	v2gDC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
-}
-
-void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) {
-	v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
-	v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
-}
-
-void init_v2gConnectChargingDeviceReqType(struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType) {
-	(void)v2gConnectChargingDeviceReqType; /* avoid unused warning */
-}
-
-void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) {
-	(void)v2gCertificateUpdateReqType; /* avoid unused warning */
-}
-
-void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType) {
-	v2gKeyInfoType->Id_isUsed = 0u;
-	v2gKeyInfoType->KeyName.arrayLen = 0u;
-	v2gKeyInfoType->KeyValue.arrayLen = 0u;
-	v2gKeyInfoType->RetrievalMethod.arrayLen = 0u;
-	v2gKeyInfoType->X509Data.arrayLen = 0u;
-	v2gKeyInfoType->PGPData.arrayLen = 0u;
-	v2gKeyInfoType->SPKIData.arrayLen = 0u;
-	v2gKeyInfoType->MgmtData.arrayLen = 0u;
-	v2gKeyInfoType->ANY_isUsed = 0u;
-}
-
-void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) {
-	v2gWeldingDetectionResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType) {
-	(void)v2gPhysicalValueType; /* avoid unused warning */
-}
-
-void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) {
-	v2gPaymentServiceSelectionReqType->SelectedVASList_isUsed = 0u;
-}
-
-void init_v2gSensorListType(struct v2gSensorListType* v2gSensorListType) {
-	v2gSensorListType->Sensor.arrayLen = 0u;
-}
-
-void init_v2gPairingReqType(struct v2gPairingReqType* v2gPairingReqType) {
-	v2gPairingReqType->PairingParameters_isUsed = 0u;
-}
-
-void init_v2gDisconnectChargingDeviceReqType(struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType) {
-	(void)v2gDisconnectChargingDeviceReqType; /* avoid unused warning */
-}
-
-void init_v2gParameterType(struct v2gParameterType* v2gParameterType) {
-	v2gParameterType->boolValue_isUsed = 0u;
-	v2gParameterType->byteValue_isUsed = 0u;
-	v2gParameterType->shortValue_isUsed = 0u;
-	v2gParameterType->intValue_isUsed = 0u;
-	v2gParameterType->physicalValue_isUsed = 0u;
-	v2gParameterType->stringValue_isUsed = 0u;
-}
-
-void init_v2gEVSEFinePositioningParametersType(struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType) {
-	(void)v2gEVSEFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) {
-	(void)v2gAC_EVSEChargeParameterType; /* avoid unused warning */
-}
-
-void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) {
-	v2gServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 0u;
-}
-
-void init_v2gConnectChargingDeviceResType(struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType) {
-	v2gConnectChargingDeviceResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gPowerDemandReqType(struct v2gPowerDemandReqType* v2gPowerDemandReqType) {
-	v2gPowerDemandReqType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gPowerDemandReqType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gPowerDemandReqType->DisplayParameters_isUsed = 0u;
-	v2gPowerDemandReqType->PowerDemandParameters_isUsed = 0u;
-}
-
-void init_v2gLFA_EVFinePositioningParametersType(struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType) {
-	(void)v2gLFA_EVFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gTransformType(struct v2gTransformType* v2gTransformType) {
-	v2gTransformType->ANY_isUsed = 0u;
-	v2gTransformType->XPath.arrayLen = 0u;
-}
-
-void init_v2gObjectType(struct v2gObjectType* v2gObjectType) {
-	v2gObjectType->Id_isUsed = 0u;
-	v2gObjectType->MimeType_isUsed = 0u;
-	v2gObjectType->Encoding_isUsed = 0u;
-	v2gObjectType->ANY_isUsed = 0u;
-}
-
-void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) {
-	v2gPowerDeliveryReqType->EVOperation_isUsed = 0u;
-	v2gPowerDeliveryReqType->SAScheduleTupleID_isUsed = 0u;
-	v2gPowerDeliveryReqType->ChargingProfile_isUsed = 0u;
-}
-
-void init_v2gGeneric_EVSEFinePositioningParametersType(struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType) {
-	(void)v2gGeneric_EVSEFinePositioningParametersType; /* avoid unused warning */
-}
-
-void init_v2gSensorPackageListType(struct v2gSensorPackageListType* v2gSensorPackageListType) {
-	v2gSensorPackageListType->SensorPackage.arrayLen = 0u;
-}
-
-void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) {
-	v2gPaymentDetailsResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) {
-	(void)v2gAnonType_V2G_Message; /* avoid unused warning */
-}
-
-void init_v2gAC_BidirectionalControlReqType(struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType) {
-	v2gAC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u;
-	v2gAC_BidirectionalControlReqType->EVOperation_isUsed = 0u;
-	v2gAC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u;
-	v2gAC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u;
-	v2gAC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 0u;
-}
-
-void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType) {
-	(void)v2gBodyBaseType; /* avoid unused warning */
-}
-
-void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType) {
-	(void)v2gSessionStopReqType; /* avoid unused warning */
-}
-
-void init_v2gEntryType(struct v2gEntryType* v2gEntryType) {
-	(void)v2gEntryType; /* avoid unused warning */
-}
-
-void init_v2gPowerDemandResType(struct v2gPowerDemandResType* v2gPowerDemandResType) {
-	v2gPowerDemandResType->EVSEStatus_isUsed = 0u;
-	v2gPowerDemandResType->SAScheduleTupleID_isUsed = 0u;
-	v2gPowerDemandResType->MeterInfo_isUsed = 0u;
-	v2gPowerDemandResType->ReceiptRequired_isUsed = 0u;
-	v2gPowerDemandResType->PowerDemandParameters_isUsed = 0u;
-}
-
-void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType) {
-	v2gSessionSetupResType->EVSEStatus_isUsed = 0u;
-	v2gSessionSetupResType->EVSETimeStamp_isUsed = 0u;
-}
-
-void init_v2gVehicleCheckOutResType(struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType) {
-	v2gVehicleCheckOutResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType) {
-	v2gKeyValueType->DSAKeyValue_isUsed = 0u;
-	v2gKeyValueType->RSAKeyValue_isUsed = 0u;
-	v2gKeyValueType->ANY_isUsed = 0u;
-}
-
-void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType) {
-	(void)v2gEMAIDType; /* avoid unused warning */
-}
-
-void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType) {
-	v2gTransformsType->Transform.arrayLen = 0u;
-}
-
-void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) {
-	v2gCurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gCurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gCurrentDemandReqType->DisplayParameters_isUsed = 0u;
-	v2gCurrentDemandReqType->EVMaximumCurrent_isUsed = 0u;
-	v2gCurrentDemandReqType->EVMaximumPower_isUsed = 0u;
-	v2gCurrentDemandReqType->EVMaximumVoltage_isUsed = 0u;
-}
-
-void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMethodType) {
-	v2gRetrievalMethodType->URI_isUsed = 0u;
-	v2gRetrievalMethodType->Type_isUsed = 0u;
-	v2gRetrievalMethodType->Transforms_isUsed = 0u;
-}
-
-void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType) {
-	v2gServiceListType->Service.arrayLen = 0u;
-}
-
-void init_v2gDC_EVBidirectionalParameterType(struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType) {
-	v2gDC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->CurrentSOC_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 0u;
-	v2gDC_EVBidirectionalParameterType->MinimumSOC_isUsed = 0u;
-}
-
-void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType) {
-	v2gServiceDetailResType->EVSEStatus_isUsed = 0u;
-	v2gServiceDetailResType->ServiceParameterList_isUsed = 0u;
-}
-
-void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType) {
-	v2gSelectedServiceListType->SelectedService.arrayLen = 0u;
-}
-
-void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) {
-	v2gRelativeTimeIntervalType->duration_isUsed = 0u;
-}
-
-void init_v2gDisconnectChargingDeviceResType(struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType) {
-	v2gDisconnectChargingDeviceResType->EVSEStatus_isUsed = 0u;
-}
-
-void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) {
-	(void)v2gContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */
-}
-
-void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType) {
-	v2gChargingStatusResType->EVSEStatus_isUsed = 0u;
-	v2gChargingStatusResType->SAScheduleTupleID_isUsed = 0u;
-	v2gChargingStatusResType->MeterInfo_isUsed = 0u;
-	v2gChargingStatusResType->ReceiptRequired_isUsed = 0u;
-	v2gChargingStatusResType->EVSETargetPower_isUsed = 0u;
-}
-
-void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) {
-	(void)v2gPaymentDetailsReqType; /* avoid unused warning */
-}
-
-void init_v2gMagneticVectorSetupType(struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType) {
-	(void)v2gMagneticVectorSetupType; /* avoid unused warning */
-}
-
-void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) {
-	v2gDC_EVChargeParameterType->EVMaximumChargePower_isUsed = 0u;
-	v2gDC_EVChargeParameterType->EVMinimumChargePower_isUsed = 0u;
-	v2gDC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u;
-	v2gDC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u;
-	v2gDC_EVChargeParameterType->CurrentSOC_isUsed = 0u;
-	v2gDC_EVChargeParameterType->TargetSOC_isUsed = 0u;
-	v2gDC_EVChargeParameterType->BulkSOC_isUsed = 0u;
-}
-
-void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType) {
-	v2gReferenceType->Id_isUsed = 0u;
-	v2gReferenceType->URI_isUsed = 0u;
-	v2gReferenceType->Type_isUsed = 0u;
-	v2gReferenceType->Transforms_isUsed = 0u;
-}
-
-void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType) {
-	(void)v2gServiceDetailReqType; /* avoid unused warning */
-}
-
-void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType) {
-	v2gPaymentOptionListType->PaymentOption.arrayLen = 0u;
-}
-
-void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType) {
-	v2gCurrentDemandResType->EVSEStatus_isUsed = 0u;
-	v2gCurrentDemandResType->EVSEMaximumPower_isUsed = 0u;
-	v2gCurrentDemandResType->EVSEMaximumCurrent_isUsed = 0u;
-	v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed = 0u;
-	v2gCurrentDemandResType->SAScheduleTupleID_isUsed = 0u;
-	v2gCurrentDemandResType->MeterInfo_isUsed = 0u;
-	v2gCurrentDemandResType->ReceiptRequired_isUsed = 0u;
-}
-
-void init_v2gDC_BidirectionalControlResType(struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType) {
-	v2gDC_BidirectionalControlResType->EVSEStatus_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->MeterInfo_isUsed = 0u;
-	v2gDC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u;
-}
-
-void init_v2gWPT_EVChargeParameterType(struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType) {
-	v2gWPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u;
-	v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u;
-	v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u;
-}
-
-void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType) {
-	(void)v2gSessionSetupReqType; /* avoid unused warning */
-}
-
-void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType) {
-	v2gDigestMethodType->ANY_isUsed = 0u;
-}
-
-
-
-#endif /* DEPLOY_ISO_CODEC */
-
-#endif
-

+ 988 - 0
src/iso1/iso1EXIDatatypes.c

@@ -0,0 +1,988 @@
+/*
+ * Copyright (C) 2007-2017 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*******************************************************************
+ *
+ * @author Daniel.Peintner.EXT@siemens.com
+ * @version 2017-03-23 
+ * @contact Joerg.Heuer@siemens.com
+ *
+ * <p>Code generated by EXIdizer</p>
+ * <p>Schema: V2G_CI_MsgDef.xsd</p>
+ *
+ *
+ ********************************************************************/
+
+
+
+#include <stdint.h>
+
+#include "iso1EXIDatatypes.h"
+#include "EXITypes.h"
+
+
+#ifndef EXI_iso1_DATATYPES_C
+#define EXI_iso1_DATATYPES_C
+
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
+
+
+void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc) {
+	exiDoc->V2G_Message_isUsed = 0u;
+	exiDoc->ServiceDiscoveryReq_isUsed = 0u;
+	exiDoc->ServiceDiscoveryRes_isUsed = 0u;
+	exiDoc->MeteringReceiptReq_isUsed = 0u;
+	exiDoc->PaymentDetailsReq_isUsed = 0u;
+	exiDoc->MeteringReceiptRes_isUsed = 0u;
+	exiDoc->PaymentDetailsRes_isUsed = 0u;
+	exiDoc->SessionSetupReq_isUsed = 0u;
+	exiDoc->SessionSetupRes_isUsed = 0u;
+	exiDoc->CableCheckReq_isUsed = 0u;
+	exiDoc->CableCheckRes_isUsed = 0u;
+	exiDoc->CertificateInstallationReq_isUsed = 0u;
+	exiDoc->CertificateInstallationRes_isUsed = 0u;
+	exiDoc->WeldingDetectionReq_isUsed = 0u;
+	exiDoc->WeldingDetectionRes_isUsed = 0u;
+	exiDoc->CertificateUpdateReq_isUsed = 0u;
+	exiDoc->CertificateUpdateRes_isUsed = 0u;
+	exiDoc->PaymentServiceSelectionReq_isUsed = 0u;
+	exiDoc->PowerDeliveryReq_isUsed = 0u;
+	exiDoc->PaymentServiceSelectionRes_isUsed = 0u;
+	exiDoc->PowerDeliveryRes_isUsed = 0u;
+	exiDoc->ChargingStatusReq_isUsed = 0u;
+	exiDoc->ChargingStatusRes_isUsed = 0u;
+	exiDoc->BodyElement_isUsed = 0u;
+	exiDoc->CurrentDemandReq_isUsed = 0u;
+	exiDoc->PreChargeReq_isUsed = 0u;
+	exiDoc->CurrentDemandRes_isUsed = 0u;
+	exiDoc->PreChargeRes_isUsed = 0u;
+	exiDoc->SessionStopReq_isUsed = 0u;
+	exiDoc->AuthorizationReq_isUsed = 0u;
+	exiDoc->SessionStopRes_isUsed = 0u;
+	exiDoc->AuthorizationRes_isUsed = 0u;
+	exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u;
+	exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u;
+	exiDoc->ServiceDetailReq_isUsed = 0u;
+	exiDoc->ServiceDetailRes_isUsed = 0u;
+	exiDoc->DC_EVSEStatus_isUsed = 0u;
+	exiDoc->RelativeTimeInterval_isUsed = 0u;
+	exiDoc->SalesTariffEntry_isUsed = 0u;
+	exiDoc->DC_EVPowerDeliveryParameter_isUsed = 0u;
+	exiDoc->SASchedules_isUsed = 0u;
+	exiDoc->AC_EVChargeParameter_isUsed = 0u;
+	exiDoc->SAScheduleList_isUsed = 0u;
+	exiDoc->DC_EVStatus_isUsed = 0u;
+	exiDoc->EVStatus_isUsed = 0u;
+	exiDoc->DC_EVChargeParameter_isUsed = 0u;
+	exiDoc->DC_EVSEChargeParameter_isUsed = 0u;
+	exiDoc->EVSEStatus_isUsed = 0u;
+	exiDoc->TimeInterval_isUsed = 0u;
+	exiDoc->EVPowerDeliveryParameter_isUsed = 0u;
+	exiDoc->EVSEChargeParameter_isUsed = 0u;
+	exiDoc->AC_EVSEStatus_isUsed = 0u;
+	exiDoc->Entry_isUsed = 0u;
+	exiDoc->AC_EVSEChargeParameter_isUsed = 0u;
+	exiDoc->PMaxScheduleEntry_isUsed = 0u;
+	exiDoc->EVChargeParameter_isUsed = 0u;
+	exiDoc->SignatureProperty_isUsed = 0u;
+	exiDoc->DSAKeyValue_isUsed = 0u;
+	exiDoc->SignatureProperties_isUsed = 0u;
+	exiDoc->KeyValue_isUsed = 0u;
+	exiDoc->Transforms_isUsed = 0u;
+	exiDoc->DigestMethod_isUsed = 0u;
+	exiDoc->Signature_isUsed = 0u;
+	exiDoc->RetrievalMethod_isUsed = 0u;
+	exiDoc->Manifest_isUsed = 0u;
+	exiDoc->Reference_isUsed = 0u;
+	exiDoc->CanonicalizationMethod_isUsed = 0u;
+	exiDoc->RSAKeyValue_isUsed = 0u;
+	exiDoc->Transform_isUsed = 0u;
+	exiDoc->PGPData_isUsed = 0u;
+	exiDoc->MgmtData_isUsed = 0u;
+	exiDoc->SignatureMethod_isUsed = 0u;
+	exiDoc->KeyInfo_isUsed = 0u;
+	exiDoc->SPKIData_isUsed = 0u;
+	exiDoc->X509Data_isUsed = 0u;
+	exiDoc->SignatureValue_isUsed = 0u;
+	exiDoc->KeyName_isUsed = 0u;
+	exiDoc->DigestValue_isUsed = 0u;
+	exiDoc->SignedInfo_isUsed = 0u;
+	exiDoc->Object_isUsed = 0u;
+}
+
+
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag) {
+	exiFrag->ChargingComplete_isUsed = 0u;
+	exiFrag->EVMaxVoltage_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->EVRESSSOC_isUsed = 0u;
+	exiFrag->MeterReading_isUsed = 0u;
+	exiFrag->physicalValue_isUsed = 0u;
+	exiFrag->TimeInterval_isUsed = 0u;
+	exiFrag->AC_EVSEStatus_isUsed = 0u;
+	exiFrag->AC_EVSEStatus_isUsed = 0u;
+	exiFrag->EVMaxCurrent_isUsed = 0u;
+	exiFrag->ChargingProfileEntryStart_isUsed = 0u;
+	exiFrag->EVSEMaxCurrent_isUsed = 0u;
+	exiFrag->costKind_isUsed = 0u;
+	exiFrag->EAmount_isUsed = 0u;
+	exiFrag->EnergyTransferMode_isUsed = 0u;
+	exiFrag->X509SerialNumber_isUsed = 0u;
+	exiFrag->NumEPriceLevels_isUsed = 0u;
+	exiFrag->RetrievalMethod_isUsed = 0u;
+	exiFrag->PMax_isUsed = 0u;
+	exiFrag->ParameterSetID_isUsed = 0u;
+	exiFrag->ParameterSetID_isUsed = 0u;
+	exiFrag->BulkSOC_isUsed = 0u;
+	exiFrag->EVSEMinimumCurrentLimit_isUsed = 0u;
+	exiFrag->EVSEPowerLimitAchieved_isUsed = 0u;
+	exiFrag->SalesTariffEntry_isUsed = 0u;
+	exiFrag->Transforms_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEIsolationStatus_isUsed = 0u;
+	exiFrag->BulkChargingComplete_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->FaultCode_isUsed = 0u;
+	exiFrag->RootCertificateID_isUsed = 0u;
+	exiFrag->HMACOutputLength_isUsed = 0u;
+	exiFrag->Exponent_isUsed = 0u;
+	exiFrag->X509IssuerSerial_isUsed = 0u;
+	exiFrag->byteValue_isUsed = 0u;
+	exiFrag->SPKIData_isUsed = 0u;
+	exiFrag->SAScheduleList_isUsed = 0u;
+	exiFrag->EVMaximumPowerLimit_isUsed = 0u;
+	exiFrag->DC_EVSEStatus_isUsed = 0u;
+	exiFrag->DC_EVSEStatus_isUsed = 0u;
+	exiFrag->DC_EVSEStatus_isUsed = 0u;
+	exiFrag->DC_EVSEStatus_isUsed = 0u;
+	exiFrag->RetryCounter_isUsed = 0u;
+	exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u;
+	exiFrag->SalesTariff_isUsed = 0u;
+	exiFrag->PgenCounter_isUsed = 0u;
+	exiFrag->X509Data_isUsed = 0u;
+	exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u;
+	exiFrag->KeyValue_isUsed = 0u;
+	exiFrag->V2G_Message_isUsed = 0u;
+	exiFrag->EVSEMinimumVoltageLimit_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ProfileEntry_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->start_isUsed = 0u;
+	exiFrag->EVErrorCode_isUsed = 0u;
+	exiFrag->EVChargeParameter_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->EVSEPresentCurrent_isUsed = 0u;
+	exiFrag->PGPData_isUsed = 0u;
+	exiFrag->EVMinCurrent_isUsed = 0u;
+	exiFrag->FullSOC_isUsed = 0u;
+	exiFrag->amount_isUsed = 0u;
+	exiFrag->DC_EVSEChargeParameter_isUsed = 0u;
+	exiFrag->Entry_isUsed = 0u;
+	exiFrag->SessionStopRes_isUsed = 0u;
+	exiFrag->DC_EVSEStatus_isUsed = 0u;
+	exiFrag->DC_EVSEStatus_isUsed = 0u;
+	exiFrag->shortValue_isUsed = 0u;
+	exiFrag->SAProvisioningCertificateChain_isUsed = 0u;
+	exiFrag->SAProvisioningCertificateChain_isUsed = 0u;
+	exiFrag->PowerDeliveryReq_isUsed = 0u;
+	exiFrag->PowerDeliveryRes_isUsed = 0u;
+	exiFrag->SessionStopReq_isUsed = 0u;
+	exiFrag->SignatureProperty_isUsed = 0u;
+	exiFrag->SessionID_isUsed = 0u;
+	exiFrag->PGPKeyPacket_isUsed = 0u;
+	exiFrag->PGPKeyPacket_isUsed = 0u;
+	exiFrag->Header_isUsed = 0u;
+	exiFrag->Seed_isUsed = 0u;
+	exiFrag->RSAKeyValue_isUsed = 0u;
+	exiFrag->FreeService_isUsed = 0u;
+	exiFrag->EVSENominalVoltage_isUsed = 0u;
+	exiFrag->XPath_isUsed = 0u;
+	exiFrag->MeteringReceiptRes_isUsed = 0u;
+	exiFrag->ServiceDiscoveryReq_isUsed = 0u;
+	exiFrag->MeteringReceiptReq_isUsed = 0u;
+	exiFrag->PreChargeRes_isUsed = 0u;
+	exiFrag->OEMProvisioningCert_isUsed = 0u;
+	exiFrag->EVEnergyCapacity_isUsed = 0u;
+	exiFrag->Signature_isUsed = 0u;
+	exiFrag->AC_EVSEChargeParameter_isUsed = 0u;
+	exiFrag->ServiceDiscoveryRes_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->PreChargeReq_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->NotificationMaxDelay_isUsed = 0u;
+	exiFrag->CableCheckReq_isUsed = 0u;
+	exiFrag->SalesTariffDescription_isUsed = 0u;
+	exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u;
+	exiFrag->boolValue_isUsed = 0u;
+	exiFrag->EVCCID_isUsed = 0u;
+	exiFrag->DC_EVChargeParameter_isUsed = 0u;
+	exiFrag->ChargingStatusReq_isUsed = 0u;
+	exiFrag->CableCheckRes_isUsed = 0u;
+	exiFrag->MgmtData_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u;
+	exiFrag->EVSEMaxCurrent_isUsed = 0u;
+	exiFrag->EVSEStatus_isUsed = 0u;
+	exiFrag->Service_isUsed = 0u;
+	exiFrag->Manifest_isUsed = 0u;
+	exiFrag->EVMaximumVoltageLimit_isUsed = 0u;
+	exiFrag->P_isUsed = 0u;
+	exiFrag->Q_isUsed = 0u;
+	exiFrag->X509SubjectName_isUsed = 0u;
+	exiFrag->intValue_isUsed = 0u;
+	exiFrag->ChargingProfile_isUsed = 0u;
+	exiFrag->G_isUsed = 0u;
+	exiFrag->J_isUsed = 0u;
+	exiFrag->ServiceScope_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ServiceName_isUsed = 0u;
+	exiFrag->MeterStatus_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->ChargingStatusRes_isUsed = 0u;
+	exiFrag->ServiceCategory_isUsed = 0u;
+	exiFrag->Notification_isUsed = 0u;
+	exiFrag->X509CRL_isUsed = 0u;
+	exiFrag->Y_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->DigestValue_isUsed = 0u;
+	exiFrag->EVSEMaximumPowerLimit_isUsed = 0u;
+	exiFrag->EVSETimeStamp_isUsed = 0u;
+	exiFrag->EVSETimeStamp_isUsed = 0u;
+	exiFrag->Cost_isUsed = 0u;
+	exiFrag->EVSEPeakCurrentRipple_isUsed = 0u;
+	exiFrag->ConsumptionCost_isUsed = 0u;
+	exiFrag->DigestMethod_isUsed = 0u;
+	exiFrag->SPKISexp_isUsed = 0u;
+	exiFrag->SessionSetupRes_isUsed = 0u;
+	exiFrag->EVSECurrentLimitAchieved_isUsed = 0u;
+	exiFrag->ServiceDetailReq_isUsed = 0u;
+	exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u;
+	exiFrag->ServiceDetailRes_isUsed = 0u;
+	exiFrag->SignatureProperties_isUsed = 0u;
+	exiFrag->EPriceLevel_isUsed = 0u;
+	exiFrag->EVTargetCurrent_isUsed = 0u;
+	exiFrag->RemainingTimeToBulkSoC_isUsed = 0u;
+	exiFrag->EVTargetCurrent_isUsed = 0u;
+	exiFrag->stringValue_isUsed = 0u;
+	exiFrag->SessionSetupReq_isUsed = 0u;
+	exiFrag->Multiplier_isUsed = 0u;
+	exiFrag->CertificateUpdateRes_isUsed = 0u;
+	exiFrag->PGPKeyID_isUsed = 0u;
+	exiFrag->EVTargetVoltage_isUsed = 0u;
+	exiFrag->EVTargetVoltage_isUsed = 0u;
+	exiFrag->DSAKeyValue_isUsed = 0u;
+	exiFrag->CertificateUpdateReq_isUsed = 0u;
+	exiFrag->EVMaximumCurrentLimit_isUsed = 0u;
+	exiFrag->CanonicalizationMethod_isUsed = 0u;
+	exiFrag->X509Certificate_isUsed = 0u;
+	exiFrag->CertificateInstallationReq_isUsed = 0u;
+	exiFrag->CertificateInstallationRes_isUsed = 0u;
+	exiFrag->EVStatus_isUsed = 0u;
+	exiFrag->SupportedEnergyTransferMode_isUsed = 0u;
+	exiFrag->SignedInfo_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->MaxEntriesSAScheduleTuple_isUsed = 0u;
+	exiFrag->PaymentOption_isUsed = 0u;
+	exiFrag->SubCertificates_isUsed = 0u;
+	exiFrag->PaymentDetailsReq_isUsed = 0u;
+	exiFrag->AuthorizationReq_isUsed = 0u;
+	exiFrag->PaymentDetailsRes_isUsed = 0u;
+	exiFrag->AuthorizationRes_isUsed = 0u;
+	exiFrag->EVSEStatusCode_isUsed = 0u;
+	exiFrag->PaymentOptionList_isUsed = 0u;
+	exiFrag->SelectedServiceList_isUsed = 0u;
+	exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u;
+	exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->WeldingDetectionReq_isUsed = 0u;
+	exiFrag->FaultMsg_isUsed = 0u;
+	exiFrag->WeldingDetectionRes_isUsed = 0u;
+	exiFrag->ChargeProgress_isUsed = 0u;
+	exiFrag->SelectedPaymentOption_isUsed = 0u;
+	exiFrag->BulkChargingComplete_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->ParameterSet_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEChargeParameter_isUsed = 0u;
+	exiFrag->SigMeterReading_isUsed = 0u;
+	exiFrag->SignatureValue_isUsed = 0u;
+	exiFrag->SASchedules_isUsed = 0u;
+	exiFrag->SalesTariffID_isUsed = 0u;
+	exiFrag->DHpublickey_isUsed = 0u;
+	exiFrag->DHpublickey_isUsed = 0u;
+	exiFrag->ServiceParameterList_isUsed = 0u;
+	exiFrag->ListOfRootCertificateIDs_isUsed = 0u;
+	exiFrag->ListOfRootCertificateIDs_isUsed = 0u;
+	exiFrag->MeterID_isUsed = 0u;
+	exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u;
+	exiFrag->ChargeService_isUsed = 0u;
+	exiFrag->amountMultiplier_isUsed = 0u;
+	exiFrag->RCD_isUsed = 0u;
+	exiFrag->EVMaximumPowerLimit_isUsed = 0u;
+	exiFrag->startValue_isUsed = 0u;
+	exiFrag->CurrentDemandReq_isUsed = 0u;
+	exiFrag->KeyName_isUsed = 0u;
+	exiFrag->DC_EVPowerDeliveryParameter_isUsed = 0u;
+	exiFrag->Body_isUsed = 0u;
+	exiFrag->ChargingComplete_isUsed = 0u;
+	exiFrag->EVSENotification_isUsed = 0u;
+	exiFrag->Value_isUsed = 0u;
+	exiFrag->KeyInfo_isUsed = 0u;
+	exiFrag->GenChallenge_isUsed = 0u;
+	exiFrag->GenChallenge_isUsed = 0u;
+	exiFrag->AC_EVChargeParameter_isUsed = 0u;
+	exiFrag->PMaxScheduleEntry_isUsed = 0u;
+	exiFrag->Parameter_isUsed = 0u;
+	exiFrag->X509SKI_isUsed = 0u;
+	exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u;
+	exiFrag->SelectedService_isUsed = 0u;
+	exiFrag->PaymentServiceSelectionReq_isUsed = 0u;
+	exiFrag->PaymentServiceSelectionRes_isUsed = 0u;
+	exiFrag->Certificate_isUsed = 0u;
+	exiFrag->Certificate_isUsed = 0u;
+	exiFrag->CurrentDemandRes_isUsed = 0u;
+	exiFrag->EVReady_isUsed = 0u;
+	exiFrag->EVSEMaximumPowerLimit_isUsed = 0u;
+	exiFrag->SignatureMethod_isUsed = 0u;
+	exiFrag->PMaxSchedule_isUsed = 0u;
+	exiFrag->ServiceCategory_isUsed = 0u;
+	exiFrag->Unit_isUsed = 0u;
+	exiFrag->X509IssuerName_isUsed = 0u;
+	exiFrag->Reference_isUsed = 0u;
+	exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u;
+	exiFrag->EVPowerDeliveryParameter_isUsed = 0u;
+	exiFrag->ChargingProfileEntryMaxPower_isUsed = 0u;
+	exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u;
+	exiFrag->duration_isUsed = 0u;
+	exiFrag->TMeter_isUsed = 0u;
+	exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u;
+	exiFrag->EVMaximumCurrentLimit_isUsed = 0u;
+	exiFrag->ServiceList_isUsed = 0u;
+	exiFrag->AC_EVSEStatus_isUsed = 0u;
+	exiFrag->EVMaximumVoltageLimit_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->SAScheduleTuple_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->DC_EVStatus_isUsed = 0u;
+	exiFrag->BodyElement_isUsed = 0u;
+	exiFrag->RemainingTimeToFullSoC_isUsed = 0u;
+	exiFrag->RelativeTimeInterval_isUsed = 0u;
+	exiFrag->Transform_isUsed = 0u;
+	exiFrag->DepartureTime_isUsed = 0u;
+	exiFrag->Object_isUsed = 0u;
+	exiFrag->EVEnergyRequest_isUsed = 0u;
+	exiFrag->ServiceScope_isUsed = 0u;
+	exiFrag->Modulus_isUsed = 0u;
+	exiFrag->ChargingSession_isUsed = 0u;
+	exiFrag->RequestedEnergyTransferMode_isUsed = 0u;
+	exiFrag->SessionID_isUsed = 0u;
+}
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
+
+void init_iso1IntervalType(struct iso1IntervalType* iso1IntervalType) {
+	(void)iso1IntervalType; /* avoid unused warning */
+}
+
+void init_iso1SASchedulesType(struct iso1SASchedulesType* iso1SASchedulesType) {
+	(void)iso1SASchedulesType; /* avoid unused warning */
+}
+
+void init_iso1PaymentOptionListType(struct iso1PaymentOptionListType* iso1PaymentOptionListType) {
+	iso1PaymentOptionListType->PaymentOption.arrayLen = 0u;
+}
+
+void init_iso1CertificateUpdateReqType(struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) {
+	(void)iso1CertificateUpdateReqType; /* avoid unused warning */
+}
+
+void init_iso1SelectedServiceType(struct iso1SelectedServiceType* iso1SelectedServiceType) {
+	iso1SelectedServiceType->ParameterSetID_isUsed = 0u;
+}
+
+void init_iso1CertificateInstallationResType(struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) {
+	(void)iso1CertificateInstallationResType; /* avoid unused warning */
+}
+
+void init_iso1SignatureMethodType(struct iso1SignatureMethodType* iso1SignatureMethodType) {
+	iso1SignatureMethodType->HMACOutputLength_isUsed = 0u;
+	iso1SignatureMethodType->ANY_isUsed = 0u;
+}
+
+void init_iso1DSAKeyValueType(struct iso1DSAKeyValueType* iso1DSAKeyValueType) {
+	iso1DSAKeyValueType->P_isUsed = 0u;
+	iso1DSAKeyValueType->Q_isUsed = 0u;
+	iso1DSAKeyValueType->G_isUsed = 0u;
+	iso1DSAKeyValueType->J_isUsed = 0u;
+	iso1DSAKeyValueType->Seed_isUsed = 0u;
+	iso1DSAKeyValueType->PgenCounter_isUsed = 0u;
+}
+
+void init_iso1CostType(struct iso1CostType* iso1CostType) {
+	iso1CostType->amountMultiplier_isUsed = 0u;
+}
+
+void init_iso1MeterInfoType(struct iso1MeterInfoType* iso1MeterInfoType) {
+	iso1MeterInfoType->MeterReading_isUsed = 0u;
+	iso1MeterInfoType->SigMeterReading_isUsed = 0u;
+	iso1MeterInfoType->MeterStatus_isUsed = 0u;
+	iso1MeterInfoType->TMeter_isUsed = 0u;
+}
+
+void init_iso1MeteringReceiptResType(struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) {
+	iso1MeteringReceiptResType->EVSEStatus_isUsed = 0u;
+	iso1MeteringReceiptResType->AC_EVSEStatus_isUsed = 0u;
+	iso1MeteringReceiptResType->DC_EVSEStatus_isUsed = 0u;
+}
+
+void init_iso1CableCheckResType(struct iso1CableCheckResType* iso1CableCheckResType) {
+	(void)iso1CableCheckResType; /* avoid unused warning */
+}
+
+void init_iso1X509IssuerSerialType(struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) {
+	(void)iso1X509IssuerSerialType; /* avoid unused warning */
+}
+
+void init_iso1PGPDataType(struct iso1PGPDataType* iso1PGPDataType) {
+	iso1PGPDataType->PGPKeyID_isUsed = 0u;
+	iso1PGPDataType->PGPKeyPacket_isUsed = 0u;
+	iso1PGPDataType->ANY_isUsed = 0u;
+}
+
+void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType) {
+	iso1SignatureType->Id_isUsed = 0u;
+	iso1SignatureType->KeyInfo_isUsed = 0u;
+	iso1SignatureType->Object.arrayLen = 0u;
+}
+
+void init_iso1PMaxScheduleType(struct iso1PMaxScheduleType* iso1PMaxScheduleType) {
+	iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u;
+}
+
+void init_iso1SessionStopReqType(struct iso1SessionStopReqType* iso1SessionStopReqType) {
+	(void)iso1SessionStopReqType; /* avoid unused warning */
+}
+
+void init_iso1SelectedServiceListType(struct iso1SelectedServiceListType* iso1SelectedServiceListType) {
+	iso1SelectedServiceListType->SelectedService.arrayLen = 0u;
+}
+
+void init_iso1TransformsType(struct iso1TransformsType* iso1TransformsType) {
+	iso1TransformsType->Transform.arrayLen = 0u;
+}
+
+void init_iso1SignaturePropertyType(struct iso1SignaturePropertyType* iso1SignaturePropertyType) {
+	iso1SignaturePropertyType->Id_isUsed = 0u;
+	iso1SignaturePropertyType->ANY_isUsed = 0u;
+}
+
+void init_iso1ChargeParameterDiscoveryResType(struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) {
+	iso1ChargeParameterDiscoveryResType->SASchedules_isUsed = 0u;
+	iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u;
+	iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u;
+	iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
+	iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
+}
+
+void init_iso1ServiceDetailReqType(struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) {
+	(void)iso1ServiceDetailReqType; /* avoid unused warning */
+}
+
+void init_iso1PowerDeliveryReqType(struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) {
+	iso1PowerDeliveryReqType->ChargingProfile_isUsed = 0u;
+	iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u;
+	iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u;
+}
+
+void init_iso1PaymentDetailsReqType(struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) {
+	(void)iso1PaymentDetailsReqType; /* avoid unused warning */
+}
+
+void init_iso1DC_EVStatusType(struct iso1DC_EVStatusType* iso1DC_EVStatusType) {
+	(void)iso1DC_EVStatusType; /* avoid unused warning */
+}
+
+void init_iso1MeteringReceiptReqType(struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) {
+	iso1MeteringReceiptReqType->Id_isUsed = 0u;
+	iso1MeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
+}
+
+void init_iso1PowerDeliveryResType(struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) {
+	iso1PowerDeliveryResType->EVSEStatus_isUsed = 0u;
+	iso1PowerDeliveryResType->AC_EVSEStatus_isUsed = 0u;
+	iso1PowerDeliveryResType->DC_EVSEStatus_isUsed = 0u;
+}
+
+void init_iso1DC_EVSEStatusType(struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) {
+	iso1DC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u;
+}
+
+void init_iso1SignatureValueType(struct iso1SignatureValueType* iso1SignatureValueType) {
+	iso1SignatureValueType->Id_isUsed = 0u;
+}
+
+void init_iso1EVPowerDeliveryParameterType(struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) {
+	(void)iso1EVPowerDeliveryParameterType; /* avoid unused warning */
+}
+
+void init_iso1PaymentServiceSelectionReqType(struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) {
+	(void)iso1PaymentServiceSelectionReqType; /* avoid unused warning */
+}
+
+void init_iso1AuthorizationReqType(struct iso1AuthorizationReqType* iso1AuthorizationReqType) {
+	iso1AuthorizationReqType->Id_isUsed = 0u;
+	iso1AuthorizationReqType->GenChallenge_isUsed = 0u;
+}
+
+void init_iso1X509DataType(struct iso1X509DataType* iso1X509DataType) {
+	iso1X509DataType->X509IssuerSerial.arrayLen = 0u;
+	iso1X509DataType->X509SKI.arrayLen = 0u;
+	iso1X509DataType->X509SubjectName.arrayLen = 0u;
+	iso1X509DataType->X509Certificate.arrayLen = 0u;
+	iso1X509DataType->X509CRL.arrayLen = 0u;
+	iso1X509DataType->ANY_isUsed = 0u;
+}
+
+void init_iso1CurrentDemandReqType(struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) {
+	iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u;
+	iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u;
+	iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u;
+	iso1CurrentDemandReqType->BulkChargingComplete_isUsed = 0u;
+	iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u;
+	iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u;
+}
+
+void init_iso1WeldingDetectionResType(struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) {
+	(void)iso1WeldingDetectionResType; /* avoid unused warning */
+}
+
+void init_iso1RetrievalMethodType(struct iso1RetrievalMethodType* iso1RetrievalMethodType) {
+	iso1RetrievalMethodType->URI_isUsed = 0u;
+	iso1RetrievalMethodType->Type_isUsed = 0u;
+	iso1RetrievalMethodType->Transforms_isUsed = 0u;
+}
+
+void init_iso1EVStatusType(struct iso1EVStatusType* iso1EVStatusType) {
+	(void)iso1EVStatusType; /* avoid unused warning */
+}
+
+void init_iso1EVSEChargeParameterType(struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) {
+	(void)iso1EVSEChargeParameterType; /* avoid unused warning */
+}
+
+void init_iso1ListOfRootCertificateIDsType(struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) {
+	iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
+}
+
+void init_iso1CertificateUpdateResType(struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) {
+	iso1CertificateUpdateResType->RetryCounter_isUsed = 0u;
+}
+
+void init_iso1WeldingDetectionReqType(struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) {
+	(void)iso1WeldingDetectionReqType; /* avoid unused warning */
+}
+
+void init_iso1AC_EVSEStatusType(struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) {
+	(void)iso1AC_EVSEStatusType; /* avoid unused warning */
+}
+
+void init_iso1SubCertificatesType(struct iso1SubCertificatesType* iso1SubCertificatesType) {
+	iso1SubCertificatesType->Certificate.arrayLen = 0u;
+}
+
+void init_iso1ChargeParameterDiscoveryReqType(struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) {
+	iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed = 0u;
+	iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u;
+	iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
+	iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
+}
+
+void init_iso1ParameterType(struct iso1ParameterType* iso1ParameterType) {
+	iso1ParameterType->boolValue_isUsed = 0u;
+	iso1ParameterType->byteValue_isUsed = 0u;
+	iso1ParameterType->shortValue_isUsed = 0u;
+	iso1ParameterType->intValue_isUsed = 0u;
+	iso1ParameterType->physicalValue_isUsed = 0u;
+	iso1ParameterType->stringValue_isUsed = 0u;
+}
+
+void init_iso1CableCheckReqType(struct iso1CableCheckReqType* iso1CableCheckReqType) {
+	(void)iso1CableCheckReqType; /* avoid unused warning */
+}
+
+void init_iso1KeyInfoType(struct iso1KeyInfoType* iso1KeyInfoType) {
+	iso1KeyInfoType->Id_isUsed = 0u;
+	iso1KeyInfoType->KeyName.arrayLen = 0u;
+	iso1KeyInfoType->KeyValue.arrayLen = 0u;
+	iso1KeyInfoType->RetrievalMethod.arrayLen = 0u;
+	iso1KeyInfoType->X509Data.arrayLen = 0u;
+	iso1KeyInfoType->PGPData.arrayLen = 0u;
+	iso1KeyInfoType->SPKIData.arrayLen = 0u;
+	iso1KeyInfoType->MgmtData.arrayLen = 0u;
+	iso1KeyInfoType->ANY_isUsed = 0u;
+}
+
+void init_iso1ServiceDiscoveryResType(struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) {
+	iso1ServiceDiscoveryResType->ServiceList_isUsed = 0u;
+}
+
+void init_iso1SalesTariffType(struct iso1SalesTariffType* iso1SalesTariffType) {
+	iso1SalesTariffType->Id_isUsed = 0u;
+	iso1SalesTariffType->SalesTariffDescription_isUsed = 0u;
+	iso1SalesTariffType->NumEPriceLevels_isUsed = 0u;
+	iso1SalesTariffType->SalesTariffEntry.arrayLen = 0u;
+}
+
+void init_iso1PreChargeReqType(struct iso1PreChargeReqType* iso1PreChargeReqType) {
+	(void)iso1PreChargeReqType; /* avoid unused warning */
+}
+
+void init_iso1ServiceListType(struct iso1ServiceListType* iso1ServiceListType) {
+	iso1ServiceListType->Service.arrayLen = 0u;
+}
+
+void init_iso1SAScheduleTupleType(struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) {
+	iso1SAScheduleTupleType->SalesTariff_isUsed = 0u;
+}
+
+void init_iso1ChargingStatusReqType(struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) {
+	(void)iso1ChargingStatusReqType; /* avoid unused warning */
+}
+
+void init_iso1AC_EVSEChargeParameterType(struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) {
+	(void)iso1AC_EVSEChargeParameterType; /* avoid unused warning */
+}
+
+void init_iso1BodyBaseType(struct iso1BodyBaseType* iso1BodyBaseType) {
+	(void)iso1BodyBaseType; /* avoid unused warning */
+}
+
+void init_iso1SupportedEnergyTransferModeType(struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) {
+	iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen = 0u;
+}
+
+void init_iso1SignaturePropertiesType(struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) {
+	iso1SignaturePropertiesType->Id_isUsed = 0u;
+	iso1SignaturePropertiesType->SignatureProperty.arrayLen = 0u;
+}
+
+void init_iso1ProfileEntryType(struct iso1ProfileEntryType* iso1ProfileEntryType) {
+	iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u;
+}
+
+void init_iso1DC_EVPowerDeliveryParameterType(struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) {
+	iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u;
+}
+
+void init_iso1DiffieHellmanPublickeyType(struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) {
+	(void)iso1DiffieHellmanPublickeyType; /* avoid unused warning */
+}
+
+void init_iso1ChargingStatusResType(struct iso1ChargingStatusResType* iso1ChargingStatusResType) {
+	iso1ChargingStatusResType->EVSEMaxCurrent_isUsed = 0u;
+	iso1ChargingStatusResType->MeterInfo_isUsed = 0u;
+	iso1ChargingStatusResType->ReceiptRequired_isUsed = 0u;
+}
+
+void init_iso1AC_EVChargeParameterType(struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) {
+	iso1AC_EVChargeParameterType->DepartureTime_isUsed = 0u;
+}
+
+void init_iso1KeyValueType(struct iso1KeyValueType* iso1KeyValueType) {
+	iso1KeyValueType->DSAKeyValue_isUsed = 0u;
+	iso1KeyValueType->RSAKeyValue_isUsed = 0u;
+	iso1KeyValueType->ANY_isUsed = 0u;
+}
+
+void init_iso1CertificateInstallationReqType(struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) {
+	(void)iso1CertificateInstallationReqType; /* avoid unused warning */
+}
+
+void init_iso1SessionSetupResType(struct iso1SessionSetupResType* iso1SessionSetupResType) {
+	iso1SessionSetupResType->EVSETimeStamp_isUsed = 0u;
+}
+
+void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType) {
+	iso1MessageHeaderType->Notification_isUsed = 0u;
+	iso1MessageHeaderType->Signature_isUsed = 0u;
+}
+
+void init_iso1SessionSetupReqType(struct iso1SessionSetupReqType* iso1SessionSetupReqType) {
+	(void)iso1SessionSetupReqType; /* avoid unused warning */
+}
+
+void init_iso1SAScheduleListType(struct iso1SAScheduleListType* iso1SAScheduleListType) {
+	iso1SAScheduleListType->SAScheduleTuple.arrayLen = 0u;
+}
+
+void init_iso1DC_EVChargeParameterType(struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) {
+	iso1DC_EVChargeParameterType->DepartureTime_isUsed = 0u;
+	iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u;
+	iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u;
+	iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u;
+	iso1DC_EVChargeParameterType->FullSOC_isUsed = 0u;
+	iso1DC_EVChargeParameterType->BulkSOC_isUsed = 0u;
+}
+
+void init_iso1SPKIDataType(struct iso1SPKIDataType* iso1SPKIDataType) {
+	iso1SPKIDataType->SPKISexp.arrayLen = 0u;
+	iso1SPKIDataType->ANY_isUsed = 0u;
+}
+
+void init_iso1SignedInfoType(struct iso1SignedInfoType* iso1SignedInfoType) {
+	iso1SignedInfoType->Id_isUsed = 0u;
+	iso1SignedInfoType->Reference.arrayLen = 0u;
+}
+
+void init_iso1ServiceDetailResType(struct iso1ServiceDetailResType* iso1ServiceDetailResType) {
+	iso1ServiceDetailResType->ServiceParameterList_isUsed = 0u;
+}
+
+void init_iso1RelativeTimeIntervalType(struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) {
+	iso1RelativeTimeIntervalType->duration_isUsed = 0u;
+}
+
+void init_iso1CertificateChainType(struct iso1CertificateChainType* iso1CertificateChainType) {
+	iso1CertificateChainType->Id_isUsed = 0u;
+	iso1CertificateChainType->SubCertificates_isUsed = 0u;
+}
+
+void init_iso1ServiceType(struct iso1ServiceType* iso1ServiceType) {
+	iso1ServiceType->ServiceName_isUsed = 0u;
+	iso1ServiceType->ServiceScope_isUsed = 0u;
+}
+
+void init_iso1ObjectType(struct iso1ObjectType* iso1ObjectType) {
+	iso1ObjectType->Id_isUsed = 0u;
+	iso1ObjectType->MimeType_isUsed = 0u;
+	iso1ObjectType->Encoding_isUsed = 0u;
+	iso1ObjectType->ANY_isUsed = 0u;
+}
+
+void init_iso1RSAKeyValueType(struct iso1RSAKeyValueType* iso1RSAKeyValueType) {
+	(void)iso1RSAKeyValueType; /* avoid unused warning */
+}
+
+void init_iso1DigestMethodType(struct iso1DigestMethodType* iso1DigestMethodType) {
+	iso1DigestMethodType->ANY_isUsed = 0u;
+}
+
+void init_iso1EntryType(struct iso1EntryType* iso1EntryType) {
+	iso1EntryType->TimeInterval_isUsed = 0u;
+	iso1EntryType->RelativeTimeInterval_isUsed = 0u;
+}
+
+void init_iso1EVSEStatusType(struct iso1EVSEStatusType* iso1EVSEStatusType) {
+	(void)iso1EVSEStatusType; /* avoid unused warning */
+}
+
+void init_iso1ChargeServiceType(struct iso1ChargeServiceType* iso1ChargeServiceType) {
+	iso1ChargeServiceType->ServiceName_isUsed = 0u;
+	iso1ChargeServiceType->ServiceScope_isUsed = 0u;
+}
+
+void init_iso1PreChargeResType(struct iso1PreChargeResType* iso1PreChargeResType) {
+	(void)iso1PreChargeResType; /* avoid unused warning */
+}
+
+void init_iso1AnonType_V2G_Message(struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) {
+	(void)iso1AnonType_V2G_Message; /* avoid unused warning */
+}
+
+void init_iso1PaymentDetailsResType(struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) {
+	(void)iso1PaymentDetailsResType; /* avoid unused warning */
+}
+
+void init_iso1ConsumptionCostType(struct iso1ConsumptionCostType* iso1ConsumptionCostType) {
+	iso1ConsumptionCostType->Cost.arrayLen = 0u;
+}
+
+void init_iso1ServiceParameterListType(struct iso1ServiceParameterListType* iso1ServiceParameterListType) {
+	iso1ServiceParameterListType->ParameterSet.arrayLen = 0u;
+}
+
+void init_iso1SessionStopResType(struct iso1SessionStopResType* iso1SessionStopResType) {
+	(void)iso1SessionStopResType; /* avoid unused warning */
+}
+
+void init_iso1EVChargeParameterType(struct iso1EVChargeParameterType* iso1EVChargeParameterType) {
+	iso1EVChargeParameterType->DepartureTime_isUsed = 0u;
+}
+
+void init_iso1PaymentServiceSelectionResType(struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) {
+	(void)iso1PaymentServiceSelectionResType; /* avoid unused warning */
+}
+
+void init_iso1CurrentDemandResType(struct iso1CurrentDemandResType* iso1CurrentDemandResType) {
+	iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u;
+	iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u;
+	iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u;
+	iso1CurrentDemandResType->MeterInfo_isUsed = 0u;
+	iso1CurrentDemandResType->ReceiptRequired_isUsed = 0u;
+}
+
+void init_iso1ParameterSetType(struct iso1ParameterSetType* iso1ParameterSetType) {
+	iso1ParameterSetType->Parameter.arrayLen = 0u;
+}
+
+void init_iso1ChargingProfileType(struct iso1ChargingProfileType* iso1ChargingProfileType) {
+	iso1ChargingProfileType->ProfileEntry.arrayLen = 0u;
+}
+
+void init_iso1ReferenceType(struct iso1ReferenceType* iso1ReferenceType) {
+	iso1ReferenceType->Id_isUsed = 0u;
+	iso1ReferenceType->URI_isUsed = 0u;
+	iso1ReferenceType->Type_isUsed = 0u;
+	iso1ReferenceType->Transforms_isUsed = 0u;
+}
+
+void init_iso1SalesTariffEntryType(struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) {
+	iso1SalesTariffEntryType->TimeInterval_isUsed = 0u;
+	iso1SalesTariffEntryType->RelativeTimeInterval_isUsed = 0u;
+	iso1SalesTariffEntryType->EPriceLevel_isUsed = 0u;
+	iso1SalesTariffEntryType->ConsumptionCost.arrayLen = 0u;
+}
+
+void init_iso1BodyType(struct iso1BodyType* iso1BodyType) {
+	iso1BodyType->BodyElement_isUsed = 0u;
+	iso1BodyType->SessionSetupReq_isUsed = 0u;
+	iso1BodyType->SessionSetupRes_isUsed = 0u;
+	iso1BodyType->ServiceDiscoveryReq_isUsed = 0u;
+	iso1BodyType->ServiceDiscoveryRes_isUsed = 0u;
+	iso1BodyType->ServiceDetailReq_isUsed = 0u;
+	iso1BodyType->ServiceDetailRes_isUsed = 0u;
+	iso1BodyType->PaymentServiceSelectionReq_isUsed = 0u;
+	iso1BodyType->PaymentServiceSelectionRes_isUsed = 0u;
+	iso1BodyType->PaymentDetailsReq_isUsed = 0u;
+	iso1BodyType->PaymentDetailsRes_isUsed = 0u;
+	iso1BodyType->AuthorizationReq_isUsed = 0u;
+	iso1BodyType->AuthorizationRes_isUsed = 0u;
+	iso1BodyType->ChargeParameterDiscoveryReq_isUsed = 0u;
+	iso1BodyType->ChargeParameterDiscoveryRes_isUsed = 0u;
+	iso1BodyType->PowerDeliveryReq_isUsed = 0u;
+	iso1BodyType->PowerDeliveryRes_isUsed = 0u;
+	iso1BodyType->MeteringReceiptReq_isUsed = 0u;
+	iso1BodyType->MeteringReceiptRes_isUsed = 0u;
+	iso1BodyType->SessionStopReq_isUsed = 0u;
+	iso1BodyType->SessionStopRes_isUsed = 0u;
+	iso1BodyType->CertificateUpdateReq_isUsed = 0u;
+	iso1BodyType->CertificateUpdateRes_isUsed = 0u;
+	iso1BodyType->CertificateInstallationReq_isUsed = 0u;
+	iso1BodyType->CertificateInstallationRes_isUsed = 0u;
+	iso1BodyType->ChargingStatusReq_isUsed = 0u;
+	iso1BodyType->ChargingStatusRes_isUsed = 0u;
+	iso1BodyType->CableCheckReq_isUsed = 0u;
+	iso1BodyType->CableCheckRes_isUsed = 0u;
+	iso1BodyType->PreChargeReq_isUsed = 0u;
+	iso1BodyType->PreChargeRes_isUsed = 0u;
+	iso1BodyType->CurrentDemandReq_isUsed = 0u;
+	iso1BodyType->CurrentDemandRes_isUsed = 0u;
+	iso1BodyType->WeldingDetectionReq_isUsed = 0u;
+	iso1BodyType->WeldingDetectionRes_isUsed = 0u;
+}
+
+void init_iso1EMAIDType(struct iso1EMAIDType* iso1EMAIDType) {
+	(void)iso1EMAIDType; /* avoid unused warning */
+}
+
+void init_iso1ServiceDiscoveryReqType(struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) {
+	iso1ServiceDiscoveryReqType->ServiceScope_isUsed = 0u;
+	iso1ServiceDiscoveryReqType->ServiceCategory_isUsed = 0u;
+}
+
+void init_iso1AuthorizationResType(struct iso1AuthorizationResType* iso1AuthorizationResType) {
+	(void)iso1AuthorizationResType; /* avoid unused warning */
+}
+
+void init_iso1NotificationType(struct iso1NotificationType* iso1NotificationType) {
+	iso1NotificationType->FaultMsg_isUsed = 0u;
+}
+
+void init_iso1ManifestType(struct iso1ManifestType* iso1ManifestType) {
+	iso1ManifestType->Id_isUsed = 0u;
+	iso1ManifestType->Reference.arrayLen = 0u;
+}
+
+void init_iso1ContractSignatureEncryptedPrivateKeyType(struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) {
+	(void)iso1ContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */
+}
+
+void init_iso1DC_EVSEChargeParameterType(struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) {
+	iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
+	iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
+}
+
+void init_iso1CanonicalizationMethodType(struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) {
+	iso1CanonicalizationMethodType->ANY_isUsed = 0u;
+}
+
+void init_iso1PMaxScheduleEntryType(struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) {
+	iso1PMaxScheduleEntryType->TimeInterval_isUsed = 0u;
+	iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u;
+}
+
+void init_iso1TransformType(struct iso1TransformType* iso1TransformType) {
+	iso1TransformType->ANY_isUsed = 0u;
+	iso1TransformType->XPath.arrayLen = 0u;
+}
+
+void init_iso1PhysicalValueType(struct iso1PhysicalValueType* iso1PhysicalValueType) {
+	(void)iso1PhysicalValueType; /* avoid unused warning */
+}
+
+
+
+#endif /* DEPLOY_ISO2_CODEC */
+
+#endif
+

+ 2931 - 0
src/iso1/iso1EXIDatatypes.h

@@ -0,0 +1,2931 @@
+/*
+ * Copyright (C) 2007-2017 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*******************************************************************
+ *
+ * @author Daniel.Peintner.EXT@siemens.com
+ * @version 2017-03-23 
+ * @contact Joerg.Heuer@siemens.com
+ *
+ * <p>Code generated by EXIdizer</p>
+ * <p>Schema: V2G_CI_MsgDef.xsd</p>
+ *
+ *
+ ********************************************************************/
+
+
+
+/**
+ * \file 	EXIDatatypes.h
+ * \brief 	Datatype definitions and structs for given XML Schema definitions and initialization methods
+ *
+ */
+
+#ifndef EXI_iso1_DATATYPES_H
+#define EXI_iso1_DATATYPES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SUPPORT_YES 1
+#define SUPPORT_NO 2
+#define DEPLOY_ISO2_CODEC SUPPORT_NO
+#define DEPLOY_ISO2_CODEC_FRAGMENT SUPPORT_YES
+
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
+
+#include <stdint.h>
+
+#include "EXITypes.h"
+
+
+/* Datatype definitions and structs for given XML Schema definitions */
+
+#define UNION_YES 1
+#define UNION_NO 2
+#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+struct iso1IntervalType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SASchedulesType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+struct iso1SASchedulesType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID{0-1})',  derivedBy='RESTRICTION'.  */
+struct iso1SelectedServiceType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */
+	uint16_t ServiceID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */
+	int16_t ParameterSetID ;
+	unsigned int ParameterSetID_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1SignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR 
+#define iso1SignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1SignatureMethodType {
+	/* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1SignatureMethodType_Algorithm_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Algorithm ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":HMACOutputLength, http://www.w3.org/2000/09/xmldsig#,HMACOutputLengthType */
+	int64_t HMACOutputLength ;
+	unsigned int HMACOutputLength_isUsed:1;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1SignatureMethodType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})',  derivedBy='RESTRICTION'.  */
+#define iso1DSAKeyValueType_P_BYTES_SIZE 350 
+#define iso1DSAKeyValueType_Q_BYTES_SIZE 350 
+#define iso1DSAKeyValueType_G_BYTES_SIZE 350 
+#define iso1DSAKeyValueType_Y_BYTES_SIZE 350 
+#define iso1DSAKeyValueType_J_BYTES_SIZE 350 
+#define iso1DSAKeyValueType_Seed_BYTES_SIZE 350 
+#define iso1DSAKeyValueType_PgenCounter_BYTES_SIZE 350 
+struct iso1DSAKeyValueType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_P_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  P ;
+	unsigned int P_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_Q_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Q ;
+	unsigned int Q_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_G_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  G ;
+	unsigned int G_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_Y_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Y ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_J_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  J ;
+	unsigned int J_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_Seed_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Seed ;
+	unsigned int Seed_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1DSAKeyValueType_PgenCounter_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  PgenCounter ;
+	unsigned int PgenCounter_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})',  derivedBy='RESTRICTION'.  */
+#define iso1MeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */
+#define iso1MeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */
+struct iso1MeterInfoType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterID, urn:iso:15118:2:2013:MsgDataTypes,meterIDType */
+	struct {
+		exi_string_character_t characters[iso1MeterInfoType_MeterID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  MeterID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterReading, http://www.w3.org/2001/XMLSchema,unsignedLong */
+	uint64_t MeterReading ;
+	unsigned int MeterReading_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading, urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType */
+	struct {
+		uint8_t bytes[iso1MeterInfoType_SigMeterReading_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  SigMeterReading ;
+	unsigned int SigMeterReading_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterStatus, urn:iso:15118:2:2013:MsgDataTypes,meterStatusType */
+	int16_t MeterStatus ;
+	unsigned int MeterStatus_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":TMeter, http://www.w3.org/2001/XMLSchema,long */
+	int64_t TMeter ;
+	unsigned int TMeter_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509IssuerSerialType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":X509IssuerName,"http://www.w3.org/2000/09/xmldsig#":X509SerialNumber)',  derivedBy='RESTRICTION'.  */
+#define iso1X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1X509IssuerSerialType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */
+	struct {
+		exi_string_character_t characters[iso1X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  X509IssuerName ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */
+	int64_t X509SerialNumber ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))',  derivedBy='RESTRICTION'.  */
+#define iso1PGPDataType_PGPKeyID_BYTES_SIZE 350 
+#define iso1PGPDataType_PGPKeyPacket_BYTES_SIZE 350 
+#define iso1PGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1PGPDataType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		uint8_t bytes[iso1PGPDataType_PGPKeyID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  PGPKeyID ;
+	unsigned int PGPKeyID_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		uint8_t bytes[iso1PGPDataType_PGPKeyPacket_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  PGPKeyPacket ;
+	unsigned int PGPKeyPacket_isUsed:1;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1PGPDataType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SelectedService{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1SelectedServiceListType_SelectedService_ARRAY_SIZE 5
+struct iso1SelectedServiceListType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SelectedService, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID{0-1})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1SelectedServiceType array[iso1SelectedServiceListType_SelectedService_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} SelectedService;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+#define iso1SignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1SignaturePropertyType {
+	/* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1SignaturePropertyType_Target_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Target ;
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1SignaturePropertyType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1SignaturePropertyType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ServiceID)',  derivedBy='EXTENSION'.  */
+struct iso1ServiceDetailReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */
+	uint16_t ServiceID ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":SessionID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo)',  derivedBy='EXTENSION'.  */
+#define iso1MeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1MeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */
+struct iso1MeteringReceiptReqType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1MeteringReceiptReqType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SessionID, urn:iso:15118:2:2013:MsgDataTypes,sessionIDType */
+	struct {
+		uint8_t bytes[iso1MeteringReceiptReqType_SessionID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  SessionID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */
+	uint8_t SAScheduleTupleID ;
+	unsigned int SAScheduleTupleID_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1MeterInfoType MeterInfo ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType',  base type name='base64Binary',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+#define iso1SignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SignatureValueType_CONTENT_BYTES_SIZE 350
+struct iso1SignatureValueType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1SignatureValueType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* simple content: http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		uint8_t bytes[iso1SignatureValueType_CONTENT_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  CONTENT ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+struct iso1EVPowerDeliveryParameterType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":GenChallenge{0-1})',  derivedBy='EXTENSION'.  */
+#define iso1AuthorizationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1AuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */
+struct iso1AuthorizationReqType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1AuthorizationReqType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":GenChallenge, urn:iso:15118:2:2013:MsgDataTypes,genChallengeType */
+	struct {
+		uint8_t bytes[iso1AuthorizationReqType_GenChallenge_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  GenChallenge ;
+	unsigned int GenChallenge_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509DataType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial|"http://www.w3.org/2000/09/xmldsig#":X509SKI|"http://www.w3.org/2000/09/xmldsig#":X509SubjectName|"http://www.w3.org/2000/09/xmldsig#":X509Certificate|"http://www.w3.org/2000/09/xmldsig#":X509CRL|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+#define iso1X509DataType_X509IssuerSerial_ARRAY_SIZE 1
+#define iso1X509DataType_X509SKI_BYTES_SIZE 350 
+#define iso1X509DataType_X509SKI_ARRAY_SIZE 1
+#define iso1X509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1X509DataType_X509SubjectName_ARRAY_SIZE 1
+#define iso1X509DataType_X509Certificate_BYTES_SIZE 350 
+#define iso1X509DataType_X509Certificate_ARRAY_SIZE 1
+#define iso1X509DataType_X509CRL_BYTES_SIZE 350 
+#define iso1X509DataType_X509CRL_ARRAY_SIZE 1
+#define iso1X509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1X509DataType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial, Complex type name='http://www.w3.org/2000/09/xmldsig#,X509IssuerSerialType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":X509IssuerName,"http://www.w3.org/2000/09/xmldsig#":X509SerialNumber)',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1X509IssuerSerialType array[iso1X509DataType_X509IssuerSerial_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} X509IssuerSerial;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		struct {
+			uint8_t bytes[iso1X509DataType_X509SKI_BYTES_SIZE];
+			uint16_t bytesLen;
+		}  array[iso1X509DataType_X509SKI_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} X509SKI;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */
+	struct {
+		struct {
+			exi_string_character_t characters[iso1X509DataType_X509SubjectName_CHARACTERS_SIZE];
+			uint16_t charactersLen;
+		}  array[iso1X509DataType_X509SubjectName_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} X509SubjectName;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		struct {
+			uint8_t bytes[iso1X509DataType_X509Certificate_BYTES_SIZE];
+			uint16_t bytesLen;
+		}  array[iso1X509DataType_X509Certificate_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} X509Certificate;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		struct {
+			uint8_t bytes[iso1X509DataType_X509CRL_BYTES_SIZE];
+			uint16_t bytesLen;
+		}  array[iso1X509DataType_X509CRL_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} X509CRL;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1X509DataType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVStatusType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+struct iso1EVStatusType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+struct iso1EVSEChargeParameterType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 5
+struct iso1ListOfRootCertificateIDsType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID, Complex type name='http://www.w3.org/2000/09/xmldsig#,X509IssuerSerialType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":X509IssuerName,"http://www.w3.org/2000/09/xmldsig#":X509SerialNumber)',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1X509IssuerSerialType array[iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} RootCertificateID;
+};
+
+typedef enum {
+	iso1valueType_bool = 0,
+	iso1valueType_byte = 1,
+	iso1valueType_short = 2,
+	iso1valueType_int = 3,
+	iso1valueType_physicalValue = 4,
+	iso1valueType_string = 5
+} iso1valueType;
+
+typedef enum {
+	iso1EnergyTransferModeType_AC_single_phase_core = 0,
+	iso1EnergyTransferModeType_AC_three_phase_core = 1,
+	iso1EnergyTransferModeType_DC_core = 2,
+	iso1EnergyTransferModeType_DC_extended = 3,
+	iso1EnergyTransferModeType_DC_combo_core = 4,
+	iso1EnergyTransferModeType_DC_unique = 5
+} iso1EnergyTransferModeType;
+
+typedef enum {
+	iso1chargingSessionType_Terminate = 0,
+	iso1chargingSessionType_Pause = 1
+} iso1chargingSessionType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SubCertificatesType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate{1-4})',  derivedBy='RESTRICTION'.  */
+#define iso1SubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */
+#define iso1SubCertificatesType_Certificate_ARRAY_SIZE 4
+struct iso1SubCertificatesType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Certificate, urn:iso:15118:2:2013:MsgDataTypes,certificateType */
+	struct {
+		struct {
+		uint8_t bytes[iso1SubCertificatesType_Certificate_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  array[iso1SubCertificatesType_Certificate_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Certificate;
+};
+
+typedef enum {
+	iso1unitSymbolType_h = 0,
+	iso1unitSymbolType_m = 1,
+	iso1unitSymbolType_s = 2,
+	iso1unitSymbolType_A = 3,
+	iso1unitSymbolType_V = 4,
+	iso1unitSymbolType_W = 5,
+	iso1unitSymbolType_Wh = 6
+} iso1unitSymbolType;
+
+typedef enum {
+	iso1costKindType_relativePricePercentage = 0,
+	iso1costKindType_RenewableGenerationPercentage = 1,
+	iso1costKindType_CarbonDioxideEmission = 2
+} iso1costKindType;
+
+typedef enum {
+	iso1faultCodeType_ParsingError = 0,
+	iso1faultCodeType_NoTLSRootCertificatAvailable = 1,
+	iso1faultCodeType_UnknownError = 2
+} iso1faultCodeType;
+
+typedef enum {
+	iso1DC_EVErrorCodeType_NO_ERROR = 0,
+	iso1DC_EVErrorCodeType_FAILED_RESSTemperatureInhibit = 1,
+	iso1DC_EVErrorCodeType_FAILED_EVShiftPosition = 2,
+	iso1DC_EVErrorCodeType_FAILED_ChargerConnectorLockFault = 3,
+	iso1DC_EVErrorCodeType_FAILED_EVRESSMalfunction = 4,
+	iso1DC_EVErrorCodeType_FAILED_ChargingCurrentdifferential = 5,
+	iso1DC_EVErrorCodeType_FAILED_ChargingVoltageOutOfRange = 6,
+	iso1DC_EVErrorCodeType_Reserved_A = 7,
+	iso1DC_EVErrorCodeType_Reserved_B = 8,
+	iso1DC_EVErrorCodeType_Reserved_C = 9,
+	iso1DC_EVErrorCodeType_FAILED_ChargingSystemIncompatibility = 10,
+	iso1DC_EVErrorCodeType_NoData = 11
+} iso1DC_EVErrorCodeType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType',  base type name='BodyBaseType',  content type='EMPTY',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+struct iso1ChargingStatusReqType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,BodyBaseType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+struct iso1BodyBaseType {
+	int noContent; /* avoid warning */
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SupportedEnergyTransferModeType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode{1-6})',  derivedBy='RESTRICTION'.  */
+#define iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE 5
+struct iso1SupportedEnergyTransferModeType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode, urn:iso:15118:2:2013:MsgDataTypes,EnergyTransferModeType */
+	struct {
+		iso1EnergyTransferModeType array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} EnergyTransferMode;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertiesType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":SignatureProperty{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1SignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1
+struct iso1SignaturePropertiesType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1SignaturePropertiesType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":SignatureProperty, Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1SignaturePropertyType array[iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} SignatureProperty;
+};
+
+typedef enum {
+	iso1EVSEProcessingType_Finished = 0,
+	iso1EVSEProcessingType_Ongoing = 1,
+	iso1EVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2
+} iso1EVSEProcessingType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType',  base type name='dHpublickeyType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+#define iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350
+struct iso1DiffieHellmanPublickeyType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	/* simple content: urn:iso:15118:2:2013:MsgDataTypes,dHpublickeyType */
+	struct {
+		uint8_t bytes[iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  CONTENT ;
+};
+
+typedef enum {
+	iso1responseCodeType_OK = 0,
+	iso1responseCodeType_OK_NewSessionEstablished = 1,
+	iso1responseCodeType_OK_OldSessionJoined = 2,
+	iso1responseCodeType_OK_CertificateExpiresSoon = 3,
+	iso1responseCodeType_FAILED = 4,
+	iso1responseCodeType_FAILED_SequenceError = 5,
+	iso1responseCodeType_FAILED_ServiceIDInvalid = 6,
+	iso1responseCodeType_FAILED_UnknownSession = 7,
+	iso1responseCodeType_FAILED_ServiceSelectionInvalid = 8,
+	iso1responseCodeType_FAILED_PaymentSelectionInvalid = 9,
+	iso1responseCodeType_FAILED_CertificateExpired = 10,
+	iso1responseCodeType_FAILED_SignatureError = 11,
+	iso1responseCodeType_FAILED_NoCertificateAvailable = 12,
+	iso1responseCodeType_FAILED_CertChainError = 13,
+	iso1responseCodeType_FAILED_ChallengeInvalid = 14,
+	iso1responseCodeType_FAILED_ContractCanceled = 15,
+	iso1responseCodeType_FAILED_WrongChargeParameter = 16,
+	iso1responseCodeType_FAILED_PowerDeliveryNotApplied = 17,
+	iso1responseCodeType_FAILED_TariffSelectionInvalid = 18,
+	iso1responseCodeType_FAILED_ChargingProfileInvalid = 19,
+	iso1responseCodeType_FAILED_MeteringSignatureNotValid = 20,
+	iso1responseCodeType_FAILED_NoChargeServiceSelected = 21,
+	iso1responseCodeType_FAILED_WrongEnergyTransferMode = 22,
+	iso1responseCodeType_FAILED_ContactorError = 23,
+	iso1responseCodeType__FAILED_CertificateNotAllowedAtThisEVSE = 24,
+	iso1responseCodeType_FAILED_CertificateRevoked = 25
+} iso1responseCodeType;
+
+typedef enum {
+	iso1serviceCategoryType_EVCharging = 0,
+	iso1serviceCategoryType_Internet = 1,
+	iso1serviceCategoryType_ContractCertificate = 2,
+	iso1serviceCategoryType_OtherCustom = 3
+} iso1serviceCategoryType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)',  derivedBy='EXTENSION'.  */
+#define iso1CertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */
+struct iso1CertificateInstallationReqType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1CertificateInstallationReqType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert, urn:iso:15118:2:2013:MsgDataTypes,certificateType */
+	struct {
+		uint8_t bytes[iso1CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  OEMProvisioningCert ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp{0-1})',  derivedBy='EXTENSION'.  */
+#define iso1SessionSetupResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */
+struct iso1SessionSetupResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */
+	struct {
+		exi_string_character_t characters[iso1SessionSetupResType_EVSEID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  EVSEID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSETimeStamp, http://www.w3.org/2001/XMLSchema,long */
+	int64_t EVSETimeStamp ;
+	unsigned int EVSETimeStamp_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":EVCCID)',  derivedBy='EXTENSION'.  */
+#define iso1SessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */
+struct iso1SessionSetupReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVCCID, urn:iso:15118:2:2013:MsgDataTypes,evccIDType */
+	struct {
+		uint8_t bytes[iso1SessionSetupReqType_EVCCID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  EVCCID ;
+};
+
+typedef enum {
+	iso1chargeProgressType_Start = 0,
+	iso1chargeProgressType_Stop = 1,
+	iso1chargeProgressType_Renegotiate = 2
+} iso1chargeProgressType;
+
+typedef enum {
+	iso1isolationLevelType_Invalid = 0,
+	iso1isolationLevelType_Valid = 1,
+	iso1isolationLevelType_Warning = 2,
+	iso1isolationLevelType_Fault = 3,
+	iso1isolationLevelType_No_IMD = 4
+} iso1isolationLevelType;
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+#define iso1SPKIDataType_SPKISexp_BYTES_SIZE 350 
+#define iso1SPKIDataType_SPKISexp_ARRAY_SIZE 1
+#define iso1SPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1SPKIDataType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */
+	struct {
+		struct {
+			uint8_t bytes[iso1SPKIDataType_SPKISexp_BYTES_SIZE];
+			uint16_t bytesLen;
+		}  array[iso1SPKIDataType_SPKISexp_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} SPKISexp;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1SPKIDataType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+typedef enum {
+	iso1paymentOptionType_Contract = 0,
+	iso1paymentOptionType_ExternalPayment = 1
+} iso1paymentOptionType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType',  base type name='IntervalType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})',  derivedBy='EXTENSION'.  */
+struct iso1RelativeTimeIntervalType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":start, urn:iso:15118:2:2013:MsgDataTypes,#AnonType_startRelativeTimeIntervalType */
+	uint32_t start ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":duration, urn:iso:15118:2:2013:MsgDataTypes,#AnonType_durationRelativeTimeIntervalType */
+	uint32_t duration ;
+	unsigned int duration_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+#define iso1CertificateChainType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1CertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */
+struct iso1CertificateChainType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1CertificateChainType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Certificate, urn:iso:15118:2:2013:MsgDataTypes,certificateType */
+	struct {
+		uint8_t bytes[iso1CertificateChainType_Certificate_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Certificate ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SubCertificates, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SubCertificatesType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate{1-4})',  derivedBy='RESTRICTION'.  */
+	struct iso1SubCertificatesType SubCertificates ;
+	unsigned int SubCertificates_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService)',  derivedBy='RESTRICTION'.  */
+#define iso1ServiceType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */
+#define iso1ServiceType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */
+struct iso1ServiceType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */
+	uint16_t ServiceID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceName, urn:iso:15118:2:2013:MsgDataTypes,serviceNameType */
+	struct {
+		exi_string_character_t characters[iso1ServiceType_ServiceName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceName ;
+	unsigned int ServiceName_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory, urn:iso:15118:2:2013:MsgDataTypes,serviceCategoryType */
+	iso1serviceCategoryType ServiceCategory ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */
+	struct {
+		exi_string_character_t characters[iso1ServiceType_ServiceScope_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceScope ;
+	unsigned int ServiceScope_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */
+	int FreeService ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ObjectType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##any])){0-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+#define iso1ObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1ObjectType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1ObjectType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* attribute: MimeType {http://www.w3.org/2001/XMLSchema,string} */
+	struct {
+		exi_string_character_t characters[iso1ObjectType_MimeType_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  MimeType ;
+	unsigned int MimeType_isUsed:1;
+	/* attribute: Encoding {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1ObjectType_Encoding_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Encoding ;
+	unsigned int Encoding_isUsed:1;
+	/* element: WC[##any] */
+	struct {
+		exi_string_character_t characters[iso1ObjectType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)',  derivedBy='RESTRICTION'.  */
+#define iso1RSAKeyValueType_Modulus_BYTES_SIZE 350 
+#define iso1RSAKeyValueType_Exponent_BYTES_SIZE 350 
+struct iso1RSAKeyValueType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1RSAKeyValueType_Modulus_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Modulus ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Exponent, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */
+	struct {
+		uint8_t bytes[iso1RSAKeyValueType_Exponent_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Exponent ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1DigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR 
+#define iso1DigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1DigestMethodType {
+	/* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1DigestMethodType_Algorithm_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Algorithm ;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1DigestMethodType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EntryType',  base type name='anyType',  content type='ELEMENT',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval)',  derivedBy='RESTRICTION'.  */
+struct iso1EntryType {
+	/* substitutionGroup */
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	union {
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+		/* element: "urn:iso:15118:2:2013:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+		struct iso1IntervalType TimeInterval ;
+		/* element: "urn:iso:15118:2:2013:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType',  base type name='IntervalType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1RelativeTimeIntervalType RelativeTimeInterval ;
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	};
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+		unsigned int TimeInterval_isUsed:1;
+		unsigned int RelativeTimeInterval_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargeServiceType',  base type name='ServiceType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService),("urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode))',  derivedBy='EXTENSION'.  */
+#define iso1ChargeServiceType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */
+#define iso1ChargeServiceType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */
+struct iso1ChargeServiceType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */
+	uint16_t ServiceID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceName, urn:iso:15118:2:2013:MsgDataTypes,serviceNameType */
+	struct {
+		exi_string_character_t characters[iso1ChargeServiceType_ServiceName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceName ;
+	unsigned int ServiceName_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory, urn:iso:15118:2:2013:MsgDataTypes,serviceCategoryType */
+	iso1serviceCategoryType ServiceCategory ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */
+	struct {
+		exi_string_character_t characters[iso1ChargeServiceType_ServiceScope_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceScope ;
+	unsigned int ServiceScope_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */
+	int FreeService ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SupportedEnergyTransferModeType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode{1-6})',  derivedBy='RESTRICTION'.  */
+	struct iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":GenChallenge,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp)',  derivedBy='EXTENSION'.  */
+#define iso1PaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */
+struct iso1PaymentDetailsResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":GenChallenge, urn:iso:15118:2:2013:MsgDataTypes,genChallengeType */
+	struct {
+		uint8_t bytes[iso1PaymentDetailsResType_GenChallenge_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  GenChallenge ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSETimeStamp, http://www.w3.org/2001/XMLSchema,long */
+	int64_t EVSETimeStamp ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)',  derivedBy='EXTENSION'.  */
+struct iso1SessionStopResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVChargeParameterType',  base type name='anyType',  content type='ELEMENT',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1})',  derivedBy='RESTRICTION'.  */
+struct iso1EVChargeParameterType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */
+	uint32_t DepartureTime ;
+	unsigned int DepartureTime_isUsed:1;
+};
+
+typedef enum {
+	iso1EVSENotificationType_None = 0,
+	iso1EVSENotificationType_StopCharging = 1,
+	iso1EVSENotificationType_ReNegotiation = 2
+} iso1EVSENotificationType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)',  derivedBy='EXTENSION'.  */
+struct iso1PaymentServiceSelectionResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType',  base type name='eMAIDType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+#define iso1EMAIDType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1EMAIDType_CONTENT_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1EMAIDType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1EMAIDType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	/* simple content: urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */
+	struct {
+		exi_string_character_t characters[iso1EMAIDType_CONTENT_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  CONTENT ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgBody":ServiceCategory{0-1})',  derivedBy='EXTENSION'.  */
+#define iso1ServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */
+struct iso1ServiceDiscoveryReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */
+	struct {
+		exi_string_character_t characters[iso1ServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceScope ;
+	unsigned int ServiceScope_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ServiceCategory, urn:iso:15118:2:2013:MsgDataTypes,serviceCategoryType */
+	iso1serviceCategoryType ServiceCategory ;
+	unsigned int ServiceCategory_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)',  derivedBy='EXTENSION'.  */
+struct iso1AuthorizationResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */
+	iso1EVSEProcessingType EVSEProcessing ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,NotificationType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":FaultCode,"urn:iso:15118:2:2013:MsgDataTypes":FaultMsg{0-1})',  derivedBy='RESTRICTION'.  */
+#define iso1NotificationType_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */
+struct iso1NotificationType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultCode, urn:iso:15118:2:2013:MsgDataTypes,faultCodeType */
+	iso1faultCodeType FaultCode ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultMsg, urn:iso:15118:2:2013:MsgDataTypes,faultMsgType */
+	struct {
+		exi_string_character_t characters[iso1NotificationType_FaultMsg_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  FaultMsg ;
+	unsigned int FaultMsg_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType',  base type name='privateKeyType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+#define iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350
+struct iso1ContractSignatureEncryptedPrivateKeyType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	/* simple content: urn:iso:15118:2:2013:MsgDataTypes,privateKeyType */
+	struct {
+		uint8_t bytes[iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  CONTENT ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,CanonicalizationMethodType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##any]){0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR 
+#define iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1CanonicalizationMethodType {
+	/* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Algorithm ;
+	/* element: WC[##any] */
+	struct {
+		exi_string_character_t characters[iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])|"http://www.w3.org/2000/09/xmldsig#":XPath){0-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+#define iso1TransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR 
+#define iso1TransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1TransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1TransformType_XPath_ARRAY_SIZE 1
+struct iso1TransformType {
+	/* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1TransformType_Algorithm_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Algorithm ;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1TransformType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":XPath, http://www.w3.org/2001/XMLSchema,string */
+	struct {
+		struct {
+			exi_string_character_t characters[iso1TransformType_XPath_CHARACTERS_SIZE];
+			uint16_t charactersLen;
+		}  array[iso1TransformType_XPath_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} XPath;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+struct iso1PhysicalValueType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Multiplier, urn:iso:15118:2:2013:MsgDataTypes,unitMultiplierType */
+	int8_t Multiplier ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Unit, urn:iso:15118:2:2013:MsgDataTypes,unitSymbolType */
+	iso1unitSymbolType Unit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */
+	int16_t Value ;
+};
+
+typedef enum {
+	iso1DC_EVSEStatusCodeType_EVSE_NotReady = 0,
+	iso1DC_EVSEStatusCodeType_EVSE_Ready = 1,
+	iso1DC_EVSEStatusCodeType_EVSE_Shutdown = 2,
+	iso1DC_EVSEStatusCodeType_EVSE_UtilityInterruptEvent = 3,
+	iso1DC_EVSEStatusCodeType_EVSE_IsolationMonitoringActive = 4,
+	iso1DC_EVSEStatusCodeType_EVSE_EmergencyShutdown = 5,
+	iso1DC_EVSEStatusCodeType_EVSE_Malfunction = 6,
+	iso1DC_EVSEStatusCodeType_Reserved_8 = 7,
+	iso1DC_EVSEStatusCodeType_Reserved_9 = 8,
+	iso1DC_EVSEStatusCodeType_Reserved_A = 9,
+	iso1DC_EVSEStatusCodeType_Reserved_B = 10,
+	iso1DC_EVSEStatusCodeType_Reserved_C = 11
+} iso1DC_EVSEStatusCodeType;
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PaymentOptionListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":PaymentOption{1-2})',  derivedBy='RESTRICTION'.  */
+#define iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE 2
+struct iso1PaymentOptionListType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":PaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */
+	struct {
+		iso1paymentOptionType array[iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} PaymentOption;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)',  derivedBy='EXTENSION'.  */
+#define iso1CertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1CertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */
+struct iso1CertificateUpdateReqType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1CertificateUpdateReqType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1CertificateChainType ContractSignatureCertChain ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */
+	struct {
+		exi_string_character_t characters[iso1CertificateUpdateReqType_eMAID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  eMAID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID)',  derivedBy='EXTENSION'.  */
+struct iso1CertificateInstallationResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1CertificateChainType SAProvisioningCertificateChain ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1CertificateChainType ContractSignatureCertChain ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType',  base type name='privateKeyType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":DHpublickey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType',  base type name='dHpublickeyType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1DiffieHellmanPublickeyType DHpublickey ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":eMAID, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType',  base type name='eMAIDType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1EMAIDType eMAID ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CostType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":costKind,"urn:iso:15118:2:2013:MsgDataTypes":amount,"urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier{0-1})',  derivedBy='RESTRICTION'.  */
+struct iso1CostType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":costKind, urn:iso:15118:2:2013:MsgDataTypes,costKindType */
+	iso1costKindType costKind ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":amount, http://www.w3.org/2001/XMLSchema,unsignedInt */
+	uint32_t amount ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier, urn:iso:15118:2:2013:MsgDataTypes,unitMultiplierType */
+	int8_t amountMultiplier ;
+	unsigned int amountMultiplier_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ChargingSession)',  derivedBy='EXTENSION'.  */
+struct iso1SessionStopReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ChargingSession, urn:iso:15118:2:2013:MsgDataTypes,chargingSessionType */
+	iso1chargingSessionType ChargingSession ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformsType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transform{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1TransformsType_Transform_ARRAY_SIZE 1
+struct iso1TransformsType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Transform, Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])|"http://www.w3.org/2000/09/xmldsig#":XPath){0-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1TransformType array[iso1TransformsType_Transform_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Transform;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain)',  derivedBy='EXTENSION'.  */
+#define iso1PaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */
+struct iso1PaymentDetailsReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */
+	struct {
+		exi_string_character_t characters[iso1PaymentDetailsReqType_eMAID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  eMAID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1CertificateChainType ContractSignatureCertChain ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+struct iso1DC_EVStatusType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVReady, http://www.w3.org/2001/XMLSchema,boolean */
+	int EVReady ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode, urn:iso:15118:2:2013:MsgDataTypes,DC_EVErrorCodeType */
+	iso1DC_EVErrorCodeType EVErrorCode ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */
+	int8_t EVRESSSOC ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+struct iso1DC_EVSEStatusType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */
+	uint16_t NotificationMaxDelay ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENotification, urn:iso:15118:2:2013:MsgDataTypes,EVSENotificationType */
+	iso1EVSENotificationType EVSENotification ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus, urn:iso:15118:2:2013:MsgDataTypes,isolationLevelType */
+	iso1isolationLevelType EVSEIsolationStatus ;
+	unsigned int EVSEIsolationStatus_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode, urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusCodeType */
+	iso1DC_EVSEStatusCodeType EVSEStatusCode ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2013:MsgBody":SelectedServiceList)',  derivedBy='EXTENSION'.  */
+struct iso1PaymentServiceSelectionReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */
+	iso1paymentOptionType SelectedPaymentOption ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SelectedServiceList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SelectedService{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1SelectedServiceListType SelectedServiceList ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgBody":ChargingComplete,"urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage)',  derivedBy='EXTENSION'.  */
+struct iso1CurrentDemandReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVStatusType DC_EVStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVTargetCurrent ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaximumVoltageLimit ;
+	unsigned int EVMaximumVoltageLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaximumCurrentLimit ;
+	unsigned int EVMaximumCurrentLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaximumPowerLimit ;
+	unsigned int EVMaximumPowerLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */
+	int BulkChargingComplete ;
+	unsigned int BulkChargingComplete_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */
+	int ChargingComplete ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType RemainingTimeToFullSoC ;
+	unsigned int RemainingTimeToFullSoC_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType RemainingTimeToBulkSoC ;
+	unsigned int RemainingTimeToBulkSoC_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVTargetVoltage ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)',  derivedBy='EXTENSION'.  */
+struct iso1WeldingDetectionResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEPresentVoltage ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RetrievalMethodType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1})',  derivedBy='RESTRICTION'.  */
+#define iso1RetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1RetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1RetrievalMethodType {
+	/* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1RetrievalMethodType_URI_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  URI ;
+	unsigned int URI_isUsed:1;
+	/* attribute: Type {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1RetrievalMethodType_Type_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Type ;
+	unsigned int Type_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Transforms, Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformsType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transform{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1TransformsType Transforms ;
+	unsigned int Transforms_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":RetryCounter{0-1})',  derivedBy='EXTENSION'.  */
+struct iso1CertificateUpdateResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1CertificateChainType SAProvisioningCertificateChain ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1CertificateChainType ContractSignatureCertChain ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType',  base type name='privateKeyType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":DHpublickey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType',  base type name='dHpublickeyType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1DiffieHellmanPublickeyType DHpublickey ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":eMAID, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType',  base type name='eMAIDType',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1EMAIDType eMAID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":RetryCounter, http://www.w3.org/2001/XMLSchema,short */
+	int16_t RetryCounter ;
+	unsigned int RetryCounter_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)',  derivedBy='EXTENSION'.  */
+struct iso1WeldingDetectionReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVStatusType DC_EVStatus ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))',  derivedBy='EXTENSION'.  */
+struct iso1AC_EVSEStatusType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */
+	uint16_t NotificationMaxDelay ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENotification, urn:iso:15118:2:2013:MsgDataTypes,EVSENotificationType */
+	iso1EVSENotificationType EVSENotification ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":RCD, http://www.w3.org/2001/XMLSchema,boolean */
+	int RCD ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":boolValue|"urn:iso:15118:2:2013:MsgDataTypes":byteValue|"urn:iso:15118:2:2013:MsgDataTypes":shortValue|"urn:iso:15118:2:2013:MsgDataTypes":intValue|"urn:iso:15118:2:2013:MsgDataTypes":physicalValue|"urn:iso:15118:2:2013:MsgDataTypes":stringValue)',  derivedBy='RESTRICTION'.  */
+#define iso1ParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1ParameterType {
+	/* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */
+	struct {
+		exi_string_character_t characters[iso1ParameterType_Name_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Name ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":boolValue, http://www.w3.org/2001/XMLSchema,boolean */
+	int boolValue ;
+	unsigned int boolValue_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":byteValue, http://www.w3.org/2001/XMLSchema,byte */
+	int8_t byteValue ;
+	unsigned int byteValue_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":shortValue, http://www.w3.org/2001/XMLSchema,short */
+	int16_t shortValue ;
+	unsigned int shortValue_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":intValue, http://www.w3.org/2001/XMLSchema,int */
+	int32_t intValue ;
+	unsigned int intValue_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":physicalValue, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType physicalValue ;
+	unsigned int physicalValue_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":stringValue, http://www.w3.org/2001/XMLSchema,string */
+	struct {
+		exi_string_character_t characters[iso1ParameterType_stringValue_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  stringValue ;
+	unsigned int stringValue_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)',  derivedBy='EXTENSION'.  */
+struct iso1CableCheckReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVStatusType DC_EVStatus ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent)',  derivedBy='EXTENSION'.  */
+struct iso1PreChargeReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVStatusType DC_EVStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVTargetVoltage ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVTargetCurrent ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Service{1-8})',  derivedBy='RESTRICTION'.  */
+#define iso1ServiceListType_Service_ARRAY_SIZE 5
+struct iso1ServiceListType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Service, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService)',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ServiceType array[iso1ServiceListType_Service_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Service;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEChargeParameterType',  base type name='EVSEChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent)',  derivedBy='EXTENSION'.  */
+struct iso1AC_EVSEChargeParameterType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))',  derivedBy='EXTENSION'.  */
+	struct iso1AC_EVSEStatusType AC_EVSEStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSENominalVoltage ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaxCurrent ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ProfileEntryType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse{0-1})',  derivedBy='RESTRICTION'.  */
+struct iso1ProfileEntryType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart, http://www.w3.org/2001/XMLSchema,unsignedInt */
+	uint32_t ChargingProfileEntryStart ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType ChargingProfileEntryMaxPower ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse, urn:iso:15118:2:2013:MsgDataTypes,maxNumPhasesType */
+	int8_t ChargingProfileEntryMaxNumberOfPhasesInUse ;
+	unsigned int ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVPowerDeliveryParameterType',  base type name='EVPowerDeliveryParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete)',  derivedBy='EXTENSION'.  */
+struct iso1DC_EVPowerDeliveryParameterType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVStatusType DC_EVStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */
+	int BulkChargingComplete ;
+	unsigned int BulkChargingComplete_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */
+	int ChargingComplete ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus)',  derivedBy='EXTENSION'.  */
+#define iso1ChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */
+struct iso1ChargingStatusResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */
+	struct {
+		exi_string_character_t characters[iso1ChargingStatusResType_EVSEID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  EVSEID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */
+	uint8_t SAScheduleTupleID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaxCurrent ;
+	unsigned int EVSEMaxCurrent_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1MeterInfoType MeterInfo ;
+	unsigned int MeterInfo_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */
+	int ReceiptRequired ;
+	unsigned int ReceiptRequired_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))',  derivedBy='EXTENSION'.  */
+	struct iso1AC_EVSEStatusType AC_EVSEStatus ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVChargeParameterType',  base type name='EVChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":EAmount,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent))',  derivedBy='EXTENSION'.  */
+struct iso1AC_EVChargeParameterType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */
+	uint32_t DepartureTime ;
+	unsigned int DepartureTime_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EAmount, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EAmount ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaxVoltage ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaxCurrent ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMinCurrent ;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyValueType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":DSAKeyValue|"http://www.w3.org/2000/09/xmldsig#":RSAKeyValue|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))',  derivedBy='RESTRICTION'.  */
+#define iso1KeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1KeyValueType {
+	/* element: "http://www.w3.org/2000/09/xmldsig#":DSAKeyValue, Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1DSAKeyValueType DSAKeyValue ;
+	unsigned int DSAKeyValue_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":RSAKeyValue, Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)',  derivedBy='RESTRICTION'.  */
+	struct iso1RSAKeyValueType RSAKeyValue ;
+	unsigned int RSAKeyValue_isUsed:1;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1KeyValueType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVChargeParameterType',  base type name='EVChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2013:MsgDataTypes":BulkSOC{0-1}))',  derivedBy='EXTENSION'.  */
+struct iso1DC_EVChargeParameterType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */
+	uint32_t DepartureTime ;
+	unsigned int DepartureTime_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType',  base type name='EVStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVStatusType DC_EVStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaximumCurrentLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaximumPowerLimit ;
+	unsigned int EVMaximumPowerLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVMaximumVoltageLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVEnergyCapacity ;
+	unsigned int EVEnergyCapacity_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVEnergyRequest ;
+	unsigned int EVEnergyRequest_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":FullSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */
+	int8_t FullSOC ;
+	unsigned int FullSOC_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":BulkSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */
+	int8_t BulkSOC ;
+	unsigned int BulkSOC_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType',  base type name='anyType',  content type='ELEMENT',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)',  derivedBy='RESTRICTION'.  */
+struct iso1EVSEStatusType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */
+	uint16_t NotificationMaxDelay ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENotification, urn:iso:15118:2:2013:MsgDataTypes,EVSENotificationType */
+	iso1EVSENotificationType EVSENotification ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)',  derivedBy='EXTENSION'.  */
+struct iso1PreChargeResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEPresentVoltage ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ConsumptionCostType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":startValue,"urn:iso:15118:2:2013:MsgDataTypes":Cost{1-3})',  derivedBy='RESTRICTION'.  */
+#define iso1ConsumptionCostType_Cost_ARRAY_SIZE 3
+struct iso1ConsumptionCostType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":startValue, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType startValue ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Cost, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CostType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":costKind,"urn:iso:15118:2:2013:MsgDataTypes":amount,"urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier{0-1})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1CostType array[iso1ConsumptionCostType_Cost_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Cost;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1})',  derivedBy='EXTENSION'.  */
+#define iso1CurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */
+struct iso1CurrentDemandResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEPresentVoltage ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEPresentCurrent ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */
+	int EVSECurrentLimitAchieved ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */
+	int EVSEVoltageLimitAchieved ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */
+	int EVSEPowerLimitAchieved ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaximumVoltageLimit ;
+	unsigned int EVSEMaximumVoltageLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaximumCurrentLimit ;
+	unsigned int EVSEMaximumCurrentLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaximumPowerLimit ;
+	unsigned int EVSEMaximumPowerLimit_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */
+	struct {
+		exi_string_character_t characters[iso1CurrentDemandResType_EVSEID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  EVSEID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */
+	uint8_t SAScheduleTupleID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1MeterInfoType MeterInfo ;
+	unsigned int MeterInfo_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */
+	int ReceiptRequired ;
+	unsigned int ReceiptRequired_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterSetType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2013:MsgDataTypes":Parameter{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1ParameterSetType_Parameter_ARRAY_SIZE 5
+struct iso1ParameterSetType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */
+	int16_t ParameterSetID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":Parameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":boolValue|"urn:iso:15118:2:2013:MsgDataTypes":byteValue|"urn:iso:15118:2:2013:MsgDataTypes":shortValue|"urn:iso:15118:2:2013:MsgDataTypes":intValue|"urn:iso:15118:2:2013:MsgDataTypes":physicalValue|"urn:iso:15118:2:2013:MsgDataTypes":stringValue)',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ParameterType array[iso1ParameterSetType_Parameter_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Parameter;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargingProfileType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE 5
+struct iso1ChargingProfileType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ProfileEntryType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse{0-1})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ProfileEntryType array[iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} ProfileEntry;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)',  derivedBy='RESTRICTION'.  */
+#define iso1ReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ReferenceType_DigestValue_BYTES_SIZE 350 
+struct iso1ReferenceType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1ReferenceType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1ReferenceType_URI_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  URI ;
+	unsigned int URI_isUsed:1;
+	/* attribute: Type {http://www.w3.org/2001/XMLSchema,anyURI} */
+	struct {
+		exi_string_character_t characters[iso1ReferenceType_Type_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Type ;
+	unsigned int Type_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Transforms, Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformsType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transform{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1TransformsType Transforms ;
+	unsigned int Transforms_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":DigestMethod, Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1DigestMethodType DigestMethod ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */
+	struct {
+		uint8_t bytes[iso1ReferenceType_DigestValue_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  DigestValue ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffEntryType',  base type name='EntryType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost{0-3}))',  derivedBy='EXTENSION'.  */
+#define iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3
+struct iso1SalesTariffEntryType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+	struct iso1IntervalType TimeInterval ;
+	unsigned int TimeInterval_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType',  base type name='IntervalType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})',  derivedBy='EXTENSION'.  */
+	struct iso1RelativeTimeIntervalType RelativeTimeInterval ;
+	unsigned int RelativeTimeInterval_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel, http://www.w3.org/2001/XMLSchema,unsignedByte */
+	uint8_t EPriceLevel ;
+	unsigned int EPriceLevel_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ConsumptionCostType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":startValue,"urn:iso:15118:2:2013:MsgDataTypes":Cost{1-3})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ConsumptionCostType array[iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} ConsumptionCost;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ManifestType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1ManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1ManifestType_Reference_ARRAY_SIZE 1
+struct iso1ManifestType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1ManifestType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Reference, Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ReferenceType array[iso1ManifestType_Reference_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Reference;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEChargeParameterType',  base type name='EVSEChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})',  derivedBy='EXTENSION'.  */
+struct iso1DC_EVSEChargeParameterType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaximumCurrentLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaximumPowerLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMaximumVoltageLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMinimumCurrentLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEMinimumVoltageLimit ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSECurrentRegulationTolerance ;
+	unsigned int EVSECurrentRegulationTolerance_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEPeakCurrentRipple ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType EVSEEnergyToBeDelivered ;
+	unsigned int EVSEEnergyToBeDelivered_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleEntryType',  base type name='EntryType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":PMax))',  derivedBy='EXTENSION'.  */
+struct iso1PMaxScheduleEntryType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+	struct iso1IntervalType TimeInterval ;
+	unsigned int TimeInterval_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType',  base type name='IntervalType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})',  derivedBy='EXTENSION'.  */
+	struct iso1RelativeTimeIntervalType RelativeTimeInterval ;
+	unsigned int RelativeTimeInterval_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":PMax, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)',  derivedBy='RESTRICTION'.  */
+	struct iso1PhysicalValueType PMax ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)',  derivedBy='EXTENSION'.  */
+struct iso1MeteringReceiptResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType',  base type name='anyType',  content type='ELEMENT',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)',  derivedBy='RESTRICTION'.  */
+	struct iso1EVSEStatusType EVSEStatus ;
+	unsigned int EVSEStatus_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))',  derivedBy='EXTENSION'.  */
+	struct iso1AC_EVSEStatusType AC_EVSEStatus ;
+	unsigned int AC_EVSEStatus_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	unsigned int DC_EVSEStatus_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)',  derivedBy='EXTENSION'.  */
+struct iso1CableCheckResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */
+	iso1EVSEProcessingType EVSEProcessing ;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5
+struct iso1PMaxScheduleType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleEntryType',  base type name='EntryType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":PMax))',  derivedBy='EXTENSION'.  */
+	struct {
+		struct iso1PMaxScheduleEntryType array[iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} PMaxScheduleEntry;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ChargeProgress,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter{0-1})',  derivedBy='EXTENSION'.  */
+struct iso1PowerDeliveryReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ChargeProgress, urn:iso:15118:2:2013:MsgDataTypes,chargeProgressType */
+	iso1chargeProgressType ChargeProgress ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */
+	uint8_t SAScheduleTupleID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ChargingProfile, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargingProfileType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1ChargingProfileType ChargingProfile ;
+	unsigned int ChargingProfile_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+	struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ;
+	unsigned int EVPowerDeliveryParameter_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVPowerDeliveryParameterType',  base type name='EVPowerDeliveryParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete)',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ;
+	unsigned int DC_EVPowerDeliveryParameter_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)',  derivedBy='EXTENSION'.  */
+struct iso1PowerDeliveryResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType',  base type name='anyType',  content type='ELEMENT',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)',  derivedBy='RESTRICTION'.  */
+	struct iso1EVSEStatusType EVSEStatus ;
+	unsigned int EVSEStatus_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))',  derivedBy='EXTENSION'.  */
+	struct iso1AC_EVSEStatusType AC_EVSEStatus ;
+	unsigned int AC_EVSEStatus_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType',  base type name='EVSEStatusType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	unsigned int DC_EVSEStatus_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple{0-1},"urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode,"urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter)',  derivedBy='EXTENSION'.  */
+struct iso1ChargeParameterDiscoveryReqType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple, http://www.w3.org/2001/XMLSchema,unsignedShort */
+	uint16_t MaxEntriesSAScheduleTuple ;
+	unsigned int MaxEntriesSAScheduleTuple_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode, urn:iso:15118:2:2013:MsgDataTypes,EnergyTransferModeType */
+	iso1EnergyTransferModeType RequestedEnergyTransferMode ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVChargeParameterType',  base type name='anyType',  content type='ELEMENT',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1EVChargeParameterType EVChargeParameter ;
+	unsigned int EVChargeParameter_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVChargeParameterType',  base type name='EVChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":EAmount,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent))',  derivedBy='EXTENSION'.  */
+	struct iso1AC_EVChargeParameterType AC_EVChargeParameter ;
+	unsigned int AC_EVChargeParameter_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVChargeParameterType',  base type name='EVChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2013:MsgDataTypes":BulkSOC{0-1}))',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVChargeParameterType DC_EVChargeParameter ;
+	unsigned int DC_EVChargeParameter_isUsed:1;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyInfoType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":KeyName|"http://www.w3.org/2000/09/xmldsig#":KeyValue|"http://www.w3.org/2000/09/xmldsig#":RetrievalMethod|"http://www.w3.org/2000/09/xmldsig#":X509Data|"http://www.w3.org/2000/09/xmldsig#":PGPData|"http://www.w3.org/2000/09/xmldsig#":SPKIData|"http://www.w3.org/2000/09/xmldsig#":MgmtData|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+#define iso1KeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1KeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1KeyInfoType_KeyName_ARRAY_SIZE 1
+#define iso1KeyInfoType_KeyValue_ARRAY_SIZE 1
+#define iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE 1
+#define iso1KeyInfoType_X509Data_ARRAY_SIZE 1
+#define iso1KeyInfoType_PGPData_ARRAY_SIZE 1
+#define iso1KeyInfoType_SPKIData_ARRAY_SIZE 1
+#define iso1KeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1KeyInfoType_MgmtData_ARRAY_SIZE 1
+#define iso1KeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+struct iso1KeyInfoType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1KeyInfoType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */
+	struct {
+		struct {
+			exi_string_character_t characters[iso1KeyInfoType_KeyName_CHARACTERS_SIZE];
+			uint16_t charactersLen;
+		}  array[iso1KeyInfoType_KeyName_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} KeyName;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyValueType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":DSAKeyValue|"http://www.w3.org/2000/09/xmldsig#":RSAKeyValue|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1KeyValueType array[iso1KeyInfoType_KeyValue_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} KeyValue;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, Complex type name='http://www.w3.org/2000/09/xmldsig#,RetrievalMethodType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1RetrievalMethodType array[iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} RetrievalMethod;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, Complex type name='http://www.w3.org/2000/09/xmldsig#,X509DataType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial|"http://www.w3.org/2000/09/xmldsig#":X509SKI|"http://www.w3.org/2000/09/xmldsig#":X509SubjectName|"http://www.w3.org/2000/09/xmldsig#":X509Certificate|"http://www.w3.org/2000/09/xmldsig#":X509CRL|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1X509DataType array[iso1KeyInfoType_X509Data_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} X509Data;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1PGPDataType array[iso1KeyInfoType_PGPData_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} PGPData;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1SPKIDataType array[iso1KeyInfoType_SPKIData_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} SPKIData;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */
+	struct {
+		struct {
+			exi_string_character_t characters[iso1KeyInfoType_MgmtData_CHARACTERS_SIZE];
+			uint16_t charactersLen;
+		}  array[iso1KeyInfoType_MgmtData_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} MgmtData;
+	/* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */
+	struct {
+		exi_string_character_t characters[iso1KeyInfoType_ANY_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ANY ;
+	unsigned int ANY_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":PaymentOptionList,"urn:iso:15118:2:2013:MsgBody":ChargeService,"urn:iso:15118:2:2013:MsgBody":ServiceList{0-1})',  derivedBy='EXTENSION'.  */
+struct iso1ServiceDiscoveryResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":PaymentOptionList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PaymentOptionListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":PaymentOption{1-2})',  derivedBy='RESTRICTION'.  */
+	struct iso1PaymentOptionListType PaymentOptionList ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ChargeService, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargeServiceType',  base type name='ServiceType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService),("urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode))',  derivedBy='EXTENSION'.  */
+	struct iso1ChargeServiceType ChargeService ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ServiceList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":Service{1-8})',  derivedBy='RESTRICTION'.  */
+	struct iso1ServiceListType ServiceList ;
+	unsigned int ServiceList_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1SalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */
+#define iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE 5
+struct iso1SalesTariffType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1SalesTariffType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */
+	uint8_t SalesTariffID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription, urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType */
+	struct {
+		exi_string_character_t characters[iso1SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  SalesTariffDescription ;
+	unsigned int SalesTariffDescription_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels, http://www.w3.org/2001/XMLSchema,unsignedByte */
+	uint8_t NumEPriceLevels ;
+	unsigned int NumEPriceLevels_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffEntryType',  base type name='EntryType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost{0-3}))',  derivedBy='EXTENSION'.  */
+	struct {
+		struct iso1SalesTariffEntryType array[iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} SalesTariffEntry;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleTupleType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariff{0-1})',  derivedBy='RESTRICTION'.  */
+struct iso1SAScheduleTupleType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */
+	uint8_t SAScheduleTupleID ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1PMaxScheduleType PMaxSchedule ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariff, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1SalesTariffType SalesTariff ;
+	unsigned int SalesTariff_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleListType',  base type name='SASchedulesType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple{1-3})',  derivedBy='EXTENSION'.  */
+#define iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE 3
+struct iso1SAScheduleListType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleTupleType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariff{0-1})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1SAScheduleTupleType array[iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} SAScheduleTuple;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignedInfoType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod,"http://www.w3.org/2000/09/xmldsig#":SignatureMethod,"http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1SignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SignedInfoType_Reference_ARRAY_SIZE 1
+struct iso1SignedInfoType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1SignedInfoType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod, Complex type name='http://www.w3.org/2000/09/xmldsig#,CanonicalizationMethodType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##any]){0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1CanonicalizationMethodType CanonicalizationMethod ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":SignatureMethod, Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1SignatureMethodType SignatureMethod ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Reference, Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ReferenceType array[iso1SignedInfoType_Reference_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Reference;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceParameterListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSet{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE 5
+struct iso1ServiceParameterListType {
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":ParameterSet, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterSetType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2013:MsgDataTypes":Parameter{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ParameterSetType array[iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} ParameterSet;
+};
+
+/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":SignedInfo,"http://www.w3.org/2000/09/xmldsig#":SignatureValue,"http://www.w3.org/2000/09/xmldsig#":KeyInfo{0-1},"http://www.w3.org/2000/09/xmldsig#":Object{0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+#define iso1SignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define iso1SignatureType_Object_ARRAY_SIZE 1
+struct iso1SignatureType {
+	/* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */
+	struct {
+		exi_string_character_t characters[iso1SignatureType_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  Id ;
+	unsigned int Id_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, Complex type name='http://www.w3.org/2000/09/xmldsig#,SignedInfoType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod,"http://www.w3.org/2000/09/xmldsig#":SignatureMethod,"http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1SignedInfoType SignedInfo ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType',  base type name='base64Binary',  content type='SIMPLE',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+	struct iso1SignatureValueType SignatureValue ;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyInfoType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":KeyName|"http://www.w3.org/2000/09/xmldsig#":KeyValue|"http://www.w3.org/2000/09/xmldsig#":RetrievalMethod|"http://www.w3.org/2000/09/xmldsig#":X509Data|"http://www.w3.org/2000/09/xmldsig#":PGPData|"http://www.w3.org/2000/09/xmldsig#":SPKIData|"http://www.w3.org/2000/09/xmldsig#":MgmtData|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+	struct iso1KeyInfoType KeyInfo ;
+	unsigned int KeyInfo_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Object, Complex type name='http://www.w3.org/2000/09/xmldsig#,ObjectType',  base type name='anyType',  content type='MIXED',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='((WC[##any])){0-UNBOUNDED}',  derivedBy='RESTRICTION'.  */
+	struct {
+		struct iso1ObjectType array[iso1SignatureType_Object_ARRAY_SIZE];
+		uint16_t arrayLen;
+	} Object;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing,"urn:iso:15118:2:2013:MsgDataTypes":SASchedules{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter)',  derivedBy='EXTENSION'.  */
+struct iso1ChargeParameterDiscoveryResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */
+	iso1EVSEProcessingType EVSEProcessing ;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SASchedules, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SASchedulesType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+	struct iso1SASchedulesType SASchedules ;
+	unsigned int SASchedules_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":SAScheduleList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleListType',  base type name='SASchedulesType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple{1-3})',  derivedBy='EXTENSION'.  */
+	struct iso1SAScheduleListType SAScheduleList ;
+	unsigned int SAScheduleList_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+	struct iso1EVSEChargeParameterType EVSEChargeParameter ;
+	unsigned int EVSEChargeParameter_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEChargeParameterType',  base type name='EVSEChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent)',  derivedBy='EXTENSION'.  */
+	struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ;
+	unsigned int AC_EVSEChargeParameter_isUsed:1;
+	/* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEChargeParameterType',  base type name='EVSEChargeParameterType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})',  derivedBy='EXTENSION'.  */
+	struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ;
+	unsigned int DC_EVSEChargeParameter_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgHeader,MessageHeaderType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgHeader":SessionID,"urn:iso:15118:2:2013:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})',  derivedBy='RESTRICTION'.  */
+#define iso1MessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */
+struct iso1MessageHeaderType {
+	/* element: "urn:iso:15118:2:2013:MsgHeader":SessionID, urn:iso:15118:2:2013:MsgDataTypes,sessionIDType */
+	struct {
+		uint8_t bytes[iso1MessageHeaderType_SessionID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  SessionID ;
+	/* element: "urn:iso:15118:2:2013:MsgHeader":Notification, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,NotificationType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":FaultCode,"urn:iso:15118:2:2013:MsgDataTypes":FaultMsg{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1NotificationType Notification ;
+	unsigned int Notification_isUsed:1;
+	/* element: "http://www.w3.org/2000/09/xmldsig#":Signature, Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("http://www.w3.org/2000/09/xmldsig#":SignedInfo,"http://www.w3.org/2000/09/xmldsig#":SignatureValue,"http://www.w3.org/2000/09/xmldsig#":KeyInfo{0-1},"http://www.w3.org/2000/09/xmldsig#":Object{0-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1SignatureType Signature ;
+	unsigned int Signature_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":ServiceID,"urn:iso:15118:2:2013:MsgBody":ServiceParameterList{0-1})',  derivedBy='EXTENSION'.  */
+struct iso1ServiceDetailResType {
+	/* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */
+	iso1responseCodeType ResponseCode ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */
+	uint16_t ServiceID ;
+	/* element: "urn:iso:15118:2:2013:MsgBody":ServiceParameterList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceParameterListType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSet{1-UNBOUNDED})',  derivedBy='RESTRICTION'.  */
+	struct iso1ServiceParameterListType ServiceParameterList ;
+	unsigned int ServiceParameterList_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgBody,BodyType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":BodyElement{0-1})',  derivedBy='RESTRICTION'.  */
+struct iso1BodyType {
+	/* substitutionGroup */
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	union {
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+		/* element: "urn:iso:15118:2:2013:MsgBody":BodyElement, Complex type name='urn:iso:15118:2:2013:MsgBody,BodyBaseType',  base type name='anyType',  content type='EMPTY',  isAbstract='true',  hasTypeId='false',  final='0',  block='0',  derivedBy='RESTRICTION'.  */
+		struct iso1BodyBaseType BodyElement ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":SessionSetupReq, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":EVCCID)',  derivedBy='EXTENSION'.  */
+		struct iso1SessionSetupReqType SessionSetupReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":SessionSetupRes, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1SessionSetupResType SessionSetupRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ServiceDiscoveryReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgBody":ServiceCategory{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ServiceDiscoveryRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":PaymentOptionList,"urn:iso:15118:2:2013:MsgBody":ChargeService,"urn:iso:15118:2:2013:MsgBody":ServiceList{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ServiceDetailReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ServiceID)',  derivedBy='EXTENSION'.  */
+		struct iso1ServiceDetailReqType ServiceDetailReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ServiceDetailRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":ServiceID,"urn:iso:15118:2:2013:MsgBody":ServiceParameterList{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1ServiceDetailResType ServiceDetailRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PaymentServiceSelectionReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2013:MsgBody":SelectedServiceList)',  derivedBy='EXTENSION'.  */
+		struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PaymentServiceSelectionRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)',  derivedBy='EXTENSION'.  */
+		struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PaymentDetailsReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain)',  derivedBy='EXTENSION'.  */
+		struct iso1PaymentDetailsReqType PaymentDetailsReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PaymentDetailsRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":GenChallenge,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp)',  derivedBy='EXTENSION'.  */
+		struct iso1PaymentDetailsResType PaymentDetailsRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":AuthorizationReq, Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":GenChallenge{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1AuthorizationReqType AuthorizationReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":AuthorizationRes, Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)',  derivedBy='EXTENSION'.  */
+		struct iso1AuthorizationResType AuthorizationRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ChargeParameterDiscoveryReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple{0-1},"urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode,"urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter)',  derivedBy='EXTENSION'.  */
+		struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ChargeParameterDiscoveryRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing,"urn:iso:15118:2:2013:MsgDataTypes":SASchedules{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter)',  derivedBy='EXTENSION'.  */
+		struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PowerDeliveryReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ChargeProgress,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1PowerDeliveryReqType PowerDeliveryReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PowerDeliveryRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)',  derivedBy='EXTENSION'.  */
+		struct iso1PowerDeliveryResType PowerDeliveryRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":MeteringReceiptReq, Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":SessionID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo)',  derivedBy='EXTENSION'.  */
+		struct iso1MeteringReceiptReqType MeteringReceiptReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":MeteringReceiptRes, Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)',  derivedBy='EXTENSION'.  */
+		struct iso1MeteringReceiptResType MeteringReceiptRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":SessionStopReq, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ChargingSession)',  derivedBy='EXTENSION'.  */
+		struct iso1SessionStopReqType SessionStopReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":SessionStopRes, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)',  derivedBy='EXTENSION'.  */
+		struct iso1SessionStopResType SessionStopRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CertificateUpdateReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)',  derivedBy='EXTENSION'.  */
+		struct iso1CertificateUpdateReqType CertificateUpdateReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CertificateUpdateRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":RetryCounter{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1CertificateUpdateResType CertificateUpdateRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CertificateInstallationReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)',  derivedBy='EXTENSION'.  */
+		struct iso1CertificateInstallationReqType CertificateInstallationReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CertificateInstallationRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID)',  derivedBy='EXTENSION'.  */
+		struct iso1CertificateInstallationResType CertificateInstallationRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ChargingStatusReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType',  base type name='BodyBaseType',  content type='EMPTY',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  derivedBy='EXTENSION'.  */
+		struct iso1ChargingStatusReqType ChargingStatusReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":ChargingStatusRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus)',  derivedBy='EXTENSION'.  */
+		struct iso1ChargingStatusResType ChargingStatusRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CableCheckReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)',  derivedBy='EXTENSION'.  */
+		struct iso1CableCheckReqType CableCheckReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CableCheckRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)',  derivedBy='EXTENSION'.  */
+		struct iso1CableCheckResType CableCheckRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PreChargeReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent)',  derivedBy='EXTENSION'.  */
+		struct iso1PreChargeReqType PreChargeReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":PreChargeRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)',  derivedBy='EXTENSION'.  */
+		struct iso1PreChargeResType PreChargeRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CurrentDemandReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgBody":ChargingComplete,"urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage)',  derivedBy='EXTENSION'.  */
+		struct iso1CurrentDemandReqType CurrentDemandReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":CurrentDemandRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1})',  derivedBy='EXTENSION'.  */
+		struct iso1CurrentDemandResType CurrentDemandRes ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":WeldingDetectionReq, Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionReqType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)',  derivedBy='EXTENSION'.  */
+		struct iso1WeldingDetectionReqType WeldingDetectionReq ;
+		/* element: "urn:iso:15118:2:2013:MsgBody":WeldingDetectionRes, Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionResType',  base type name='BodyBaseType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)',  derivedBy='EXTENSION'.  */
+		struct iso1WeldingDetectionResType WeldingDetectionRes ;
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	};
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+		unsigned int BodyElement_isUsed:1;
+		unsigned int SessionSetupReq_isUsed:1;
+		unsigned int SessionSetupRes_isUsed:1;
+		unsigned int ServiceDiscoveryReq_isUsed:1;
+		unsigned int ServiceDiscoveryRes_isUsed:1;
+		unsigned int ServiceDetailReq_isUsed:1;
+		unsigned int ServiceDetailRes_isUsed:1;
+		unsigned int PaymentServiceSelectionReq_isUsed:1;
+		unsigned int PaymentServiceSelectionRes_isUsed:1;
+		unsigned int PaymentDetailsReq_isUsed:1;
+		unsigned int PaymentDetailsRes_isUsed:1;
+		unsigned int AuthorizationReq_isUsed:1;
+		unsigned int AuthorizationRes_isUsed:1;
+		unsigned int ChargeParameterDiscoveryReq_isUsed:1;
+		unsigned int ChargeParameterDiscoveryRes_isUsed:1;
+		unsigned int PowerDeliveryReq_isUsed:1;
+		unsigned int PowerDeliveryRes_isUsed:1;
+		unsigned int MeteringReceiptReq_isUsed:1;
+		unsigned int MeteringReceiptRes_isUsed:1;
+		unsigned int SessionStopReq_isUsed:1;
+		unsigned int SessionStopRes_isUsed:1;
+		unsigned int CertificateUpdateReq_isUsed:1;
+		unsigned int CertificateUpdateRes_isUsed:1;
+		unsigned int CertificateInstallationReq_isUsed:1;
+		unsigned int CertificateInstallationRes_isUsed:1;
+		unsigned int ChargingStatusReq_isUsed:1;
+		unsigned int ChargingStatusRes_isUsed:1;
+		unsigned int CableCheckReq_isUsed:1;
+		unsigned int CableCheckRes_isUsed:1;
+		unsigned int PreChargeReq_isUsed:1;
+		unsigned int PreChargeRes_isUsed:1;
+		unsigned int CurrentDemandReq_isUsed:1;
+		unsigned int CurrentDemandRes_isUsed:1;
+		unsigned int WeldingDetectionReq_isUsed:1;
+		unsigned int WeldingDetectionRes_isUsed:1;
+};
+
+/* Complex type name='urn:iso:15118:2:2013:MsgDef,#AnonType_V2G_Message',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgDef":Header,"urn:iso:15118:2:2013:MsgDef":Body)',  derivedBy='RESTRICTION'.  */
+struct iso1AnonType_V2G_Message {
+	/* element: "urn:iso:15118:2:2013:MsgDef":Header, Complex type name='urn:iso:15118:2:2013:MsgHeader,MessageHeaderType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgHeader":SessionID,"urn:iso:15118:2:2013:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1MessageHeaderType Header ;
+	/* element: "urn:iso:15118:2:2013:MsgDef":Body, Complex type name='urn:iso:15118:2:2013:MsgBody,BodyType',  base type name='anyType',  content type='ELEMENT',  isAbstract='false',  hasTypeId='false',  final='0',  block='0',  particle='("urn:iso:15118:2:2013:MsgBody":BodyElement{0-1})',  derivedBy='RESTRICTION'.  */
+	struct iso1BodyType Body ;
+};
+
+
+
+#define EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIDocument_DigestValue_BYTES_SIZE 350 
+#define EXIFragment_Exponent_BYTES_SIZE 350 
+#define EXIFragment_PgenCounter_BYTES_SIZE 350 
+#define EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */
+#define EXIFragment_PGPKeyPacket_BYTES_SIZE 350 
+#define EXIFragment_Seed_BYTES_SIZE 350 
+#define EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */
+#define EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */
+#define EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */
+#define EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIFragment_P_BYTES_SIZE 350 
+#define EXIFragment_Q_BYTES_SIZE 350 
+#define EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIFragment_G_BYTES_SIZE 350 
+#define EXIFragment_J_BYTES_SIZE 350 
+#define EXIFragment_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */
+#define EXIFragment_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */
+#define EXIFragment_X509CRL_BYTES_SIZE 350 
+#define EXIFragment_Y_BYTES_SIZE 350 
+#define EXIFragment_DigestValue_BYTES_SIZE 350 
+#define EXIFragment_SPKISexp_BYTES_SIZE 350 
+#define EXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIFragment_PGPKeyID_BYTES_SIZE 350 
+#define EXIFragment_X509Certificate_BYTES_SIZE 350 
+#define EXIFragment_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */
+#define EXIFragment_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */
+#define EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */
+#define EXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */
+#define EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */
+#define EXIFragment_X509SKI_BYTES_SIZE 350 
+#define EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */
+#define EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define EXIFragment_Modulus_BYTES_SIZE 350 
+
+
+/* Global elements of EXI Document */
+struct iso1EXIDocument {
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	union {
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+	struct iso1AnonType_V2G_Message V2G_Message ;
+	struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ;
+	struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ;
+	struct iso1MeteringReceiptReqType MeteringReceiptReq ;
+	struct iso1PaymentDetailsReqType PaymentDetailsReq ;
+	struct iso1MeteringReceiptResType MeteringReceiptRes ;
+	struct iso1PaymentDetailsResType PaymentDetailsRes ;
+	struct iso1SessionSetupReqType SessionSetupReq ;
+	struct iso1SessionSetupResType SessionSetupRes ;
+	struct iso1CableCheckReqType CableCheckReq ;
+	struct iso1CableCheckResType CableCheckRes ;
+	struct iso1CertificateInstallationReqType CertificateInstallationReq ;
+	struct iso1CertificateInstallationResType CertificateInstallationRes ;
+	struct iso1WeldingDetectionReqType WeldingDetectionReq ;
+	struct iso1WeldingDetectionResType WeldingDetectionRes ;
+	struct iso1CertificateUpdateReqType CertificateUpdateReq ;
+	struct iso1CertificateUpdateResType CertificateUpdateRes ;
+	struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ;
+	struct iso1PowerDeliveryReqType PowerDeliveryReq ;
+	struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ;
+	struct iso1PowerDeliveryResType PowerDeliveryRes ;
+	struct iso1ChargingStatusReqType ChargingStatusReq ;
+	struct iso1ChargingStatusResType ChargingStatusRes ;
+	struct iso1BodyBaseType BodyElement ;
+	struct iso1CurrentDemandReqType CurrentDemandReq ;
+	struct iso1PreChargeReqType PreChargeReq ;
+	struct iso1CurrentDemandResType CurrentDemandRes ;
+	struct iso1PreChargeResType PreChargeRes ;
+	struct iso1SessionStopReqType SessionStopReq ;
+	struct iso1AuthorizationReqType AuthorizationReq ;
+	struct iso1SessionStopResType SessionStopRes ;
+	struct iso1AuthorizationResType AuthorizationRes ;
+	struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ;
+	struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ;
+	struct iso1ServiceDetailReqType ServiceDetailReq ;
+	struct iso1ServiceDetailResType ServiceDetailRes ;
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	struct iso1RelativeTimeIntervalType RelativeTimeInterval ;
+	struct iso1SalesTariffEntryType SalesTariffEntry ;
+	struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ;
+	struct iso1SASchedulesType SASchedules ;
+	struct iso1AC_EVChargeParameterType AC_EVChargeParameter ;
+	struct iso1SAScheduleListType SAScheduleList ;
+	struct iso1DC_EVStatusType DC_EVStatus ;
+	struct iso1EVStatusType EVStatus ;
+	struct iso1DC_EVChargeParameterType DC_EVChargeParameter ;
+	struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ;
+	struct iso1EVSEStatusType EVSEStatus ;
+	struct iso1IntervalType TimeInterval ;
+	struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ;
+	struct iso1EVSEChargeParameterType EVSEChargeParameter ;
+	struct iso1AC_EVSEStatusType AC_EVSEStatus ;
+	struct iso1EntryType Entry ;
+	struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ;
+	struct iso1PMaxScheduleEntryType PMaxScheduleEntry ;
+	struct iso1EVChargeParameterType EVChargeParameter ;
+	struct iso1SignaturePropertyType SignatureProperty ;
+	struct iso1DSAKeyValueType DSAKeyValue ;
+	struct iso1SignaturePropertiesType SignatureProperties ;
+	struct iso1KeyValueType KeyValue ;
+	struct iso1TransformsType Transforms ;
+	struct iso1DigestMethodType DigestMethod ;
+	struct iso1SignatureType Signature ;
+	struct iso1RetrievalMethodType RetrievalMethod ;
+	struct iso1ManifestType Manifest ;
+	struct iso1ReferenceType Reference ;
+	struct iso1CanonicalizationMethodType CanonicalizationMethod ;
+	struct iso1RSAKeyValueType RSAKeyValue ;
+	struct iso1TransformType Transform ;
+	struct iso1PGPDataType PGPData ;
+	struct {
+		exi_string_character_t characters[EXIDocument_MgmtData_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  MgmtData ;
+	struct iso1SignatureMethodType SignatureMethod ;
+	struct iso1KeyInfoType KeyInfo ;
+	struct iso1SPKIDataType SPKIData ;
+	struct iso1X509DataType X509Data ;
+	struct iso1SignatureValueType SignatureValue ;
+	struct {
+		exi_string_character_t characters[EXIDocument_KeyName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  KeyName ;
+	struct {
+		uint8_t bytes[EXIDocument_DigestValue_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  DigestValue ;
+	struct iso1SignedInfoType SignedInfo ;
+	struct iso1ObjectType Object ;
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	};
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+	unsigned int V2G_Message_isUsed:1;
+	unsigned int ServiceDiscoveryReq_isUsed:1;
+	unsigned int ServiceDiscoveryRes_isUsed:1;
+	unsigned int MeteringReceiptReq_isUsed:1;
+	unsigned int PaymentDetailsReq_isUsed:1;
+	unsigned int MeteringReceiptRes_isUsed:1;
+	unsigned int PaymentDetailsRes_isUsed:1;
+	unsigned int SessionSetupReq_isUsed:1;
+	unsigned int SessionSetupRes_isUsed:1;
+	unsigned int CableCheckReq_isUsed:1;
+	unsigned int CableCheckRes_isUsed:1;
+	unsigned int CertificateInstallationReq_isUsed:1;
+	unsigned int CertificateInstallationRes_isUsed:1;
+	unsigned int WeldingDetectionReq_isUsed:1;
+	unsigned int WeldingDetectionRes_isUsed:1;
+	unsigned int CertificateUpdateReq_isUsed:1;
+	unsigned int CertificateUpdateRes_isUsed:1;
+	unsigned int PaymentServiceSelectionReq_isUsed:1;
+	unsigned int PowerDeliveryReq_isUsed:1;
+	unsigned int PaymentServiceSelectionRes_isUsed:1;
+	unsigned int PowerDeliveryRes_isUsed:1;
+	unsigned int ChargingStatusReq_isUsed:1;
+	unsigned int ChargingStatusRes_isUsed:1;
+	unsigned int BodyElement_isUsed:1;
+	unsigned int CurrentDemandReq_isUsed:1;
+	unsigned int PreChargeReq_isUsed:1;
+	unsigned int CurrentDemandRes_isUsed:1;
+	unsigned int PreChargeRes_isUsed:1;
+	unsigned int SessionStopReq_isUsed:1;
+	unsigned int AuthorizationReq_isUsed:1;
+	unsigned int SessionStopRes_isUsed:1;
+	unsigned int AuthorizationRes_isUsed:1;
+	unsigned int ChargeParameterDiscoveryReq_isUsed:1;
+	unsigned int ChargeParameterDiscoveryRes_isUsed:1;
+	unsigned int ServiceDetailReq_isUsed:1;
+	unsigned int ServiceDetailRes_isUsed:1;
+	unsigned int DC_EVSEStatus_isUsed:1;
+	unsigned int RelativeTimeInterval_isUsed:1;
+	unsigned int SalesTariffEntry_isUsed:1;
+	unsigned int DC_EVPowerDeliveryParameter_isUsed:1;
+	unsigned int SASchedules_isUsed:1;
+	unsigned int AC_EVChargeParameter_isUsed:1;
+	unsigned int SAScheduleList_isUsed:1;
+	unsigned int DC_EVStatus_isUsed:1;
+	unsigned int EVStatus_isUsed:1;
+	unsigned int DC_EVChargeParameter_isUsed:1;
+	unsigned int DC_EVSEChargeParameter_isUsed:1;
+	unsigned int EVSEStatus_isUsed:1;
+	unsigned int TimeInterval_isUsed:1;
+	unsigned int EVPowerDeliveryParameter_isUsed:1;
+	unsigned int EVSEChargeParameter_isUsed:1;
+	unsigned int AC_EVSEStatus_isUsed:1;
+	unsigned int Entry_isUsed:1;
+	unsigned int AC_EVSEChargeParameter_isUsed:1;
+	unsigned int PMaxScheduleEntry_isUsed:1;
+	unsigned int EVChargeParameter_isUsed:1;
+	unsigned int SignatureProperty_isUsed:1;
+	unsigned int DSAKeyValue_isUsed:1;
+	unsigned int SignatureProperties_isUsed:1;
+	unsigned int KeyValue_isUsed:1;
+	unsigned int Transforms_isUsed:1;
+	unsigned int DigestMethod_isUsed:1;
+	unsigned int Signature_isUsed:1;
+	unsigned int RetrievalMethod_isUsed:1;
+	unsigned int Manifest_isUsed:1;
+	unsigned int Reference_isUsed:1;
+	unsigned int CanonicalizationMethod_isUsed:1;
+	unsigned int RSAKeyValue_isUsed:1;
+	unsigned int Transform_isUsed:1;
+	unsigned int PGPData_isUsed:1;
+	unsigned int MgmtData_isUsed:1;
+	unsigned int SignatureMethod_isUsed:1;
+	unsigned int KeyInfo_isUsed:1;
+	unsigned int SPKIData_isUsed:1;
+	unsigned int X509Data_isUsed:1;
+	unsigned int SignatureValue_isUsed:1;
+	unsigned int KeyName_isUsed:1;
+	unsigned int DigestValue_isUsed:1;
+	unsigned int SignedInfo_isUsed:1;
+	unsigned int Object_isUsed:1;
+
+
+	int _warning_;
+};
+
+
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+/* Possible elements of EXI Fragment */
+struct iso1EXIFragment {
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	union {
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+	int ChargingComplete ;
+	struct iso1PhysicalValueType EVMaxVoltage ;
+	uint16_t ServiceID ;
+	int8_t EVRESSSOC ;
+	uint64_t MeterReading ;
+	struct iso1PhysicalValueType physicalValue ;
+	struct iso1IntervalType TimeInterval ;
+	struct iso1AC_EVSEStatusType AC_EVSEStatus ;
+	struct iso1PhysicalValueType EVMaxCurrent ;
+	uint32_t ChargingProfileEntryStart ;
+	struct iso1PhysicalValueType EVSEMaxCurrent ;
+	iso1costKindType costKind ;
+	struct iso1PhysicalValueType EAmount ;
+	iso1EnergyTransferModeType EnergyTransferMode ;
+	int64_t X509SerialNumber ;
+	uint8_t NumEPriceLevels ;
+	struct iso1RetrievalMethodType RetrievalMethod ;
+	struct iso1PhysicalValueType PMax ;
+	int16_t ParameterSetID ;
+	int8_t BulkSOC ;
+	struct iso1PhysicalValueType EVSEMinimumCurrentLimit ;
+	int EVSEPowerLimitAchieved ;
+	struct iso1SalesTariffEntryType SalesTariffEntry ;
+	struct iso1TransformsType Transforms ;
+	iso1EVSEProcessingType EVSEProcessing ;
+	iso1isolationLevelType EVSEIsolationStatus ;
+	int BulkChargingComplete ;
+	uint8_t SAScheduleTupleID ;
+	iso1faultCodeType FaultCode ;
+	struct iso1X509IssuerSerialType RootCertificateID ;
+	int64_t HMACOutputLength ;
+	struct {
+		uint8_t bytes[EXIFragment_Exponent_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Exponent ;
+	struct iso1X509IssuerSerialType X509IssuerSerial ;
+	int8_t byteValue ;
+	struct iso1SPKIDataType SPKIData ;
+	struct iso1SAScheduleListType SAScheduleList ;
+	struct iso1PhysicalValueType EVMaximumPowerLimit ;
+	struct iso1DC_EVSEStatusType DC_EVSEStatus ;
+	int16_t RetryCounter ;
+	struct iso1PhysicalValueType EVSEMaximumCurrentLimit ;
+	struct iso1SalesTariffType SalesTariff ;
+	struct {
+		uint8_t bytes[EXIFragment_PgenCounter_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  PgenCounter ;
+	struct iso1X509DataType X509Data ;
+	struct iso1PhysicalValueType EVSECurrentRegulationTolerance ;
+	struct iso1KeyValueType KeyValue ;
+	struct iso1AnonType_V2G_Message V2G_Message ;
+	struct iso1PhysicalValueType EVSEMinimumVoltageLimit ;
+	iso1responseCodeType ResponseCode ;
+	struct iso1ProfileEntryType ProfileEntry ;
+	uint32_t start ;
+	iso1DC_EVErrorCodeType EVErrorCode ;
+	struct iso1EVChargeParameterType EVChargeParameter ;
+	struct iso1CertificateChainType ContractSignatureCertChain ;
+	struct iso1PhysicalValueType EVSEPresentCurrent ;
+	struct iso1PGPDataType PGPData ;
+	struct iso1PhysicalValueType EVMinCurrent ;
+	int8_t FullSOC ;
+	uint32_t amount ;
+	struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ;
+	struct iso1EntryType Entry ;
+	struct iso1SessionStopResType SessionStopRes ;
+	int16_t shortValue ;
+	struct iso1CertificateChainType SAProvisioningCertificateChain ;
+	struct iso1PowerDeliveryReqType PowerDeliveryReq ;
+	struct iso1PowerDeliveryResType PowerDeliveryRes ;
+	struct iso1SessionStopReqType SessionStopReq ;
+	struct iso1SignaturePropertyType SignatureProperty ;
+	struct {
+		uint8_t bytes[EXIFragment_SessionID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  SessionID ;
+	struct {
+		uint8_t bytes[EXIFragment_PGPKeyPacket_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  PGPKeyPacket ;
+	struct iso1MessageHeaderType Header ;
+	struct {
+		uint8_t bytes[EXIFragment_Seed_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Seed ;
+	struct iso1RSAKeyValueType RSAKeyValue ;
+	int FreeService ;
+	struct iso1PhysicalValueType EVSENominalVoltage ;
+	struct {
+		exi_string_character_t characters[EXIFragment_XPath_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  XPath ;
+	struct iso1MeteringReceiptResType MeteringReceiptRes ;
+	struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ;
+	struct iso1MeteringReceiptReqType MeteringReceiptReq ;
+	struct iso1PreChargeResType PreChargeRes ;
+	struct {
+		uint8_t bytes[EXIFragment_OEMProvisioningCert_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  OEMProvisioningCert ;
+	struct iso1PhysicalValueType EVEnergyCapacity ;
+	struct iso1SignatureType Signature ;
+	struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ;
+	struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ;
+	struct iso1PreChargeReqType PreChargeReq ;
+	uint16_t NotificationMaxDelay ;
+	struct iso1CableCheckReqType CableCheckReq ;
+	struct {
+		exi_string_character_t characters[EXIFragment_SalesTariffDescription_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  SalesTariffDescription ;
+	int EVSEVoltageLimitAchieved ;
+	int boolValue ;
+	struct {
+		uint8_t bytes[EXIFragment_EVCCID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  EVCCID ;
+	struct iso1DC_EVChargeParameterType DC_EVChargeParameter ;
+	struct iso1ChargingStatusReqType ChargingStatusReq ;
+	struct iso1CableCheckResType CableCheckRes ;
+	struct {
+		exi_string_character_t characters[EXIFragment_MgmtData_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  MgmtData ;
+	struct iso1MeterInfoType MeterInfo ;
+	struct iso1PhysicalValueType EVSEEnergyToBeDelivered ;
+	struct iso1EVSEStatusType EVSEStatus ;
+	struct iso1ServiceType Service ;
+	struct iso1ManifestType Manifest ;
+	struct iso1PhysicalValueType EVMaximumVoltageLimit ;
+	struct {
+		uint8_t bytes[EXIFragment_P_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  P ;
+	struct {
+		uint8_t bytes[EXIFragment_Q_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Q ;
+	struct {
+		exi_string_character_t characters[EXIFragment_X509SubjectName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  X509SubjectName ;
+	int32_t intValue ;
+	struct iso1ChargingProfileType ChargingProfile ;
+	struct {
+		uint8_t bytes[EXIFragment_G_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  G ;
+	struct {
+		uint8_t bytes[EXIFragment_J_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  J ;
+	struct {
+		exi_string_character_t characters[EXIFragment_ServiceScope_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceScope ;
+	int ReceiptRequired ;
+	struct {
+		exi_string_character_t characters[EXIFragment_ServiceName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  ServiceName ;
+	int16_t MeterStatus ;
+	struct iso1DC_EVStatusType DC_EVStatus ;
+	struct iso1ChargingStatusResType ChargingStatusRes ;
+	iso1serviceCategoryType ServiceCategory ;
+	struct iso1NotificationType Notification ;
+	struct {
+		uint8_t bytes[EXIFragment_X509CRL_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  X509CRL ;
+	struct {
+		uint8_t bytes[EXIFragment_Y_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Y ;
+	struct iso1PhysicalValueType EVSEPresentVoltage ;
+	struct {
+		uint8_t bytes[EXIFragment_DigestValue_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  DigestValue ;
+	struct iso1PhysicalValueType EVSEMaximumPowerLimit ;
+	int64_t EVSETimeStamp ;
+	struct iso1CostType Cost ;
+	struct iso1PhysicalValueType EVSEPeakCurrentRipple ;
+	struct iso1ConsumptionCostType ConsumptionCost ;
+	struct iso1DigestMethodType DigestMethod ;
+	struct {
+		uint8_t bytes[EXIFragment_SPKISexp_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  SPKISexp ;
+	struct iso1SessionSetupResType SessionSetupRes ;
+	int EVSECurrentLimitAchieved ;
+	struct iso1ServiceDetailReqType ServiceDetailReq ;
+	struct iso1PhysicalValueType EVSEMaximumVoltageLimit ;
+	struct iso1ServiceDetailResType ServiceDetailRes ;
+	struct iso1SignaturePropertiesType SignatureProperties ;
+	uint8_t EPriceLevel ;
+	struct iso1PhysicalValueType EVTargetCurrent ;
+	struct iso1PhysicalValueType RemainingTimeToBulkSoC ;
+	struct {
+		exi_string_character_t characters[EXIFragment_stringValue_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  stringValue ;
+	struct iso1SessionSetupReqType SessionSetupReq ;
+	int8_t Multiplier ;
+	struct iso1CertificateUpdateResType CertificateUpdateRes ;
+	struct {
+		uint8_t bytes[EXIFragment_PGPKeyID_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  PGPKeyID ;
+	struct iso1PhysicalValueType EVTargetVoltage ;
+	struct iso1DSAKeyValueType DSAKeyValue ;
+	struct iso1CertificateUpdateReqType CertificateUpdateReq ;
+	struct iso1PhysicalValueType EVMaximumCurrentLimit ;
+	struct iso1CanonicalizationMethodType CanonicalizationMethod ;
+	struct {
+		uint8_t bytes[EXIFragment_X509Certificate_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  X509Certificate ;
+	struct iso1CertificateInstallationReqType CertificateInstallationReq ;
+	struct iso1CertificateInstallationResType CertificateInstallationRes ;
+	struct iso1EVStatusType EVStatus ;
+	struct iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ;
+	struct iso1SignedInfoType SignedInfo ;
+	struct iso1EMAIDType eMAID ;
+	uint16_t MaxEntriesSAScheduleTuple ;
+	iso1paymentOptionType PaymentOption ;
+	struct iso1SubCertificatesType SubCertificates ;
+	struct iso1PaymentDetailsReqType PaymentDetailsReq ;
+	struct iso1AuthorizationReqType AuthorizationReq ;
+	struct iso1PaymentDetailsResType PaymentDetailsRes ;
+	struct iso1AuthorizationResType AuthorizationRes ;
+	iso1DC_EVSEStatusCodeType EVSEStatusCode ;
+	struct iso1PaymentOptionListType PaymentOptionList ;
+	struct iso1SelectedServiceListType SelectedServiceList ;
+	struct iso1ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ;
+	struct iso1WeldingDetectionReqType WeldingDetectionReq ;
+	struct {
+		exi_string_character_t characters[EXIFragment_FaultMsg_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  FaultMsg ;
+	struct iso1WeldingDetectionResType WeldingDetectionRes ;
+	iso1chargeProgressType ChargeProgress ;
+	iso1paymentOptionType SelectedPaymentOption ;
+	struct {
+		exi_string_character_t characters[EXIFragment_EVSEID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  EVSEID ;
+	struct iso1ParameterSetType ParameterSet ;
+	struct iso1EVSEChargeParameterType EVSEChargeParameter ;
+	struct {
+		uint8_t bytes[EXIFragment_SigMeterReading_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  SigMeterReading ;
+	struct iso1SignatureValueType SignatureValue ;
+	struct iso1SASchedulesType SASchedules ;
+	uint8_t SalesTariffID ;
+	struct iso1DiffieHellmanPublickeyType DHpublickey ;
+	struct iso1ServiceParameterListType ServiceParameterList ;
+	struct iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ;
+	struct {
+		exi_string_character_t characters[EXIFragment_MeterID_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  MeterID ;
+	struct iso1ChargeServiceType ChargeService ;
+	int8_t amountMultiplier ;
+	int RCD ;
+	struct iso1PhysicalValueType startValue ;
+	struct iso1CurrentDemandReqType CurrentDemandReq ;
+	struct {
+		exi_string_character_t characters[EXIFragment_KeyName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  KeyName ;
+	struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ;
+	struct iso1BodyType Body ;
+	iso1EVSENotificationType EVSENotification ;
+	int16_t Value ;
+	struct iso1KeyInfoType KeyInfo ;
+	struct {
+		uint8_t bytes[EXIFragment_GenChallenge_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  GenChallenge ;
+	struct iso1AC_EVChargeParameterType AC_EVChargeParameter ;
+	struct iso1PMaxScheduleEntryType PMaxScheduleEntry ;
+	struct iso1ParameterType Parameter ;
+	struct {
+		uint8_t bytes[EXIFragment_X509SKI_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  X509SKI ;
+	struct iso1SelectedServiceType SelectedService ;
+	struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ;
+	struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ;
+	struct {
+		uint8_t bytes[EXIFragment_Certificate_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Certificate ;
+	struct iso1CurrentDemandResType CurrentDemandRes ;
+	int EVReady ;
+	struct iso1SignatureMethodType SignatureMethod ;
+	struct iso1PMaxScheduleType PMaxSchedule ;
+	iso1unitSymbolType Unit ;
+	struct {
+		exi_string_character_t characters[EXIFragment_X509IssuerName_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	}  X509IssuerName ;
+	struct iso1ReferenceType Reference ;
+	int8_t ChargingProfileEntryMaxNumberOfPhasesInUse ;
+	struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ;
+	struct iso1PhysicalValueType ChargingProfileEntryMaxPower ;
+	struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ;
+	uint32_t duration ;
+	int64_t TMeter ;
+	struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ;
+	struct iso1ServiceListType ServiceList ;
+	struct iso1SAScheduleTupleType SAScheduleTuple ;
+	struct iso1BodyBaseType BodyElement ;
+	struct iso1PhysicalValueType RemainingTimeToFullSoC ;
+	struct iso1RelativeTimeIntervalType RelativeTimeInterval ;
+	struct iso1TransformType Transform ;
+	uint32_t DepartureTime ;
+	struct iso1ObjectType Object ;
+	struct iso1PhysicalValueType EVEnergyRequest ;
+	struct {
+		uint8_t bytes[EXIFragment_Modulus_BYTES_SIZE];
+		uint16_t bytesLen;
+	}  Modulus ;
+	iso1chargingSessionType ChargingSession ;
+	iso1EnergyTransferModeType RequestedEnergyTransferMode ;
+#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
+	};
+#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ 
+	unsigned int ChargingComplete_isUsed:1;
+	unsigned int EVMaxVoltage_isUsed:1;
+	unsigned int ServiceID_isUsed:1;
+	unsigned int EVRESSSOC_isUsed:1;
+	unsigned int MeterReading_isUsed:1;
+	unsigned int physicalValue_isUsed:1;
+	unsigned int TimeInterval_isUsed:1;
+	unsigned int AC_EVSEStatus_isUsed:1;
+	unsigned int EVMaxCurrent_isUsed:1;
+	unsigned int ChargingProfileEntryStart_isUsed:1;
+	unsigned int EVSEMaxCurrent_isUsed:1;
+	unsigned int costKind_isUsed:1;
+	unsigned int EAmount_isUsed:1;
+	unsigned int EnergyTransferMode_isUsed:1;
+	unsigned int X509SerialNumber_isUsed:1;
+	unsigned int NumEPriceLevels_isUsed:1;
+	unsigned int RetrievalMethod_isUsed:1;
+	unsigned int PMax_isUsed:1;
+	unsigned int ParameterSetID_isUsed:1;
+	unsigned int BulkSOC_isUsed:1;
+	unsigned int EVSEMinimumCurrentLimit_isUsed:1;
+	unsigned int EVSEPowerLimitAchieved_isUsed:1;
+	unsigned int SalesTariffEntry_isUsed:1;
+	unsigned int Transforms_isUsed:1;
+	unsigned int EVSEProcessing_isUsed:1;
+	unsigned int EVSEIsolationStatus_isUsed:1;
+	unsigned int BulkChargingComplete_isUsed:1;
+	unsigned int SAScheduleTupleID_isUsed:1;
+	unsigned int FaultCode_isUsed:1;
+	unsigned int RootCertificateID_isUsed:1;
+	unsigned int HMACOutputLength_isUsed:1;
+	unsigned int Exponent_isUsed:1;
+	unsigned int X509IssuerSerial_isUsed:1;
+	unsigned int byteValue_isUsed:1;
+	unsigned int SPKIData_isUsed:1;
+	unsigned int SAScheduleList_isUsed:1;
+	unsigned int EVMaximumPowerLimit_isUsed:1;
+	unsigned int DC_EVSEStatus_isUsed:1;
+	unsigned int RetryCounter_isUsed:1;
+	unsigned int EVSEMaximumCurrentLimit_isUsed:1;
+	unsigned int SalesTariff_isUsed:1;
+	unsigned int PgenCounter_isUsed:1;
+	unsigned int X509Data_isUsed:1;
+	unsigned int EVSECurrentRegulationTolerance_isUsed:1;
+	unsigned int KeyValue_isUsed:1;
+	unsigned int V2G_Message_isUsed:1;
+	unsigned int EVSEMinimumVoltageLimit_isUsed:1;
+	unsigned int ResponseCode_isUsed:1;
+	unsigned int ProfileEntry_isUsed:1;
+	unsigned int start_isUsed:1;
+	unsigned int EVErrorCode_isUsed:1;
+	unsigned int EVChargeParameter_isUsed:1;
+	unsigned int ContractSignatureCertChain_isUsed:1;
+	unsigned int EVSEPresentCurrent_isUsed:1;
+	unsigned int PGPData_isUsed:1;
+	unsigned int EVMinCurrent_isUsed:1;
+	unsigned int FullSOC_isUsed:1;
+	unsigned int amount_isUsed:1;
+	unsigned int DC_EVSEChargeParameter_isUsed:1;
+	unsigned int Entry_isUsed:1;
+	unsigned int SessionStopRes_isUsed:1;
+	unsigned int shortValue_isUsed:1;
+	unsigned int SAProvisioningCertificateChain_isUsed:1;
+	unsigned int PowerDeliveryReq_isUsed:1;
+	unsigned int PowerDeliveryRes_isUsed:1;
+	unsigned int SessionStopReq_isUsed:1;
+	unsigned int SignatureProperty_isUsed:1;
+	unsigned int SessionID_isUsed:1;
+	unsigned int PGPKeyPacket_isUsed:1;
+	unsigned int Header_isUsed:1;
+	unsigned int Seed_isUsed:1;
+	unsigned int RSAKeyValue_isUsed:1;
+	unsigned int FreeService_isUsed:1;
+	unsigned int EVSENominalVoltage_isUsed:1;
+	unsigned int XPath_isUsed:1;
+	unsigned int MeteringReceiptRes_isUsed:1;
+	unsigned int ServiceDiscoveryReq_isUsed:1;
+	unsigned int MeteringReceiptReq_isUsed:1;
+	unsigned int PreChargeRes_isUsed:1;
+	unsigned int OEMProvisioningCert_isUsed:1;
+	unsigned int EVEnergyCapacity_isUsed:1;
+	unsigned int Signature_isUsed:1;
+	unsigned int AC_EVSEChargeParameter_isUsed:1;
+	unsigned int ServiceDiscoveryRes_isUsed:1;
+	unsigned int PreChargeReq_isUsed:1;
+	unsigned int NotificationMaxDelay_isUsed:1;
+	unsigned int CableCheckReq_isUsed:1;
+	unsigned int SalesTariffDescription_isUsed:1;
+	unsigned int EVSEVoltageLimitAchieved_isUsed:1;
+	unsigned int boolValue_isUsed:1;
+	unsigned int EVCCID_isUsed:1;
+	unsigned int DC_EVChargeParameter_isUsed:1;
+	unsigned int ChargingStatusReq_isUsed:1;
+	unsigned int CableCheckRes_isUsed:1;
+	unsigned int MgmtData_isUsed:1;
+	unsigned int MeterInfo_isUsed:1;
+	unsigned int EVSEEnergyToBeDelivered_isUsed:1;
+	unsigned int EVSEStatus_isUsed:1;
+	unsigned int Service_isUsed:1;
+	unsigned int Manifest_isUsed:1;
+	unsigned int EVMaximumVoltageLimit_isUsed:1;
+	unsigned int P_isUsed:1;
+	unsigned int Q_isUsed:1;
+	unsigned int X509SubjectName_isUsed:1;
+	unsigned int intValue_isUsed:1;
+	unsigned int ChargingProfile_isUsed:1;
+	unsigned int G_isUsed:1;
+	unsigned int J_isUsed:1;
+	unsigned int ServiceScope_isUsed:1;
+	unsigned int ReceiptRequired_isUsed:1;
+	unsigned int ServiceName_isUsed:1;
+	unsigned int MeterStatus_isUsed:1;
+	unsigned int DC_EVStatus_isUsed:1;
+	unsigned int ChargingStatusRes_isUsed:1;
+	unsigned int ServiceCategory_isUsed:1;
+	unsigned int Notification_isUsed:1;
+	unsigned int X509CRL_isUsed:1;
+	unsigned int Y_isUsed:1;
+	unsigned int EVSEPresentVoltage_isUsed:1;
+	unsigned int DigestValue_isUsed:1;
+	unsigned int EVSEMaximumPowerLimit_isUsed:1;
+	unsigned int EVSETimeStamp_isUsed:1;
+	unsigned int Cost_isUsed:1;
+	unsigned int EVSEPeakCurrentRipple_isUsed:1;
+	unsigned int ConsumptionCost_isUsed:1;
+	unsigned int DigestMethod_isUsed:1;
+	unsigned int SPKISexp_isUsed:1;
+	unsigned int SessionSetupRes_isUsed:1;
+	unsigned int EVSECurrentLimitAchieved_isUsed:1;
+	unsigned int ServiceDetailReq_isUsed:1;
+	unsigned int EVSEMaximumVoltageLimit_isUsed:1;
+	unsigned int ServiceDetailRes_isUsed:1;
+	unsigned int SignatureProperties_isUsed:1;
+	unsigned int EPriceLevel_isUsed:1;
+	unsigned int EVTargetCurrent_isUsed:1;
+	unsigned int RemainingTimeToBulkSoC_isUsed:1;
+	unsigned int stringValue_isUsed:1;
+	unsigned int SessionSetupReq_isUsed:1;
+	unsigned int Multiplier_isUsed:1;
+	unsigned int CertificateUpdateRes_isUsed:1;
+	unsigned int PGPKeyID_isUsed:1;
+	unsigned int EVTargetVoltage_isUsed:1;
+	unsigned int DSAKeyValue_isUsed:1;
+	unsigned int CertificateUpdateReq_isUsed:1;
+	unsigned int EVMaximumCurrentLimit_isUsed:1;
+	unsigned int CanonicalizationMethod_isUsed:1;
+	unsigned int X509Certificate_isUsed:1;
+	unsigned int CertificateInstallationReq_isUsed:1;
+	unsigned int CertificateInstallationRes_isUsed:1;
+	unsigned int EVStatus_isUsed:1;
+	unsigned int SupportedEnergyTransferMode_isUsed:1;
+	unsigned int SignedInfo_isUsed:1;
+	unsigned int eMAID_isUsed:1;
+	unsigned int MaxEntriesSAScheduleTuple_isUsed:1;
+	unsigned int PaymentOption_isUsed:1;
+	unsigned int SubCertificates_isUsed:1;
+	unsigned int PaymentDetailsReq_isUsed:1;
+	unsigned int AuthorizationReq_isUsed:1;
+	unsigned int PaymentDetailsRes_isUsed:1;
+	unsigned int AuthorizationRes_isUsed:1;
+	unsigned int EVSEStatusCode_isUsed:1;
+	unsigned int PaymentOptionList_isUsed:1;
+	unsigned int SelectedServiceList_isUsed:1;
+	unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1;
+	unsigned int WeldingDetectionReq_isUsed:1;
+	unsigned int FaultMsg_isUsed:1;
+	unsigned int WeldingDetectionRes_isUsed:1;
+	unsigned int ChargeProgress_isUsed:1;
+	unsigned int SelectedPaymentOption_isUsed:1;
+	unsigned int EVSEID_isUsed:1;
+	unsigned int ParameterSet_isUsed:1;
+	unsigned int EVSEChargeParameter_isUsed:1;
+	unsigned int SigMeterReading_isUsed:1;
+	unsigned int SignatureValue_isUsed:1;
+	unsigned int SASchedules_isUsed:1;
+	unsigned int SalesTariffID_isUsed:1;
+	unsigned int DHpublickey_isUsed:1;
+	unsigned int ServiceParameterList_isUsed:1;
+	unsigned int ListOfRootCertificateIDs_isUsed:1;
+	unsigned int MeterID_isUsed:1;
+	unsigned int ChargeService_isUsed:1;
+	unsigned int amountMultiplier_isUsed:1;
+	unsigned int RCD_isUsed:1;
+	unsigned int startValue_isUsed:1;
+	unsigned int CurrentDemandReq_isUsed:1;
+	unsigned int KeyName_isUsed:1;
+	unsigned int DC_EVPowerDeliveryParameter_isUsed:1;
+	unsigned int Body_isUsed:1;
+	unsigned int EVSENotification_isUsed:1;
+	unsigned int Value_isUsed:1;
+	unsigned int KeyInfo_isUsed:1;
+	unsigned int GenChallenge_isUsed:1;
+	unsigned int AC_EVChargeParameter_isUsed:1;
+	unsigned int PMaxScheduleEntry_isUsed:1;
+	unsigned int Parameter_isUsed:1;
+	unsigned int X509SKI_isUsed:1;
+	unsigned int SelectedService_isUsed:1;
+	unsigned int PaymentServiceSelectionReq_isUsed:1;
+	unsigned int PaymentServiceSelectionRes_isUsed:1;
+	unsigned int Certificate_isUsed:1;
+	unsigned int CurrentDemandRes_isUsed:1;
+	unsigned int EVReady_isUsed:1;
+	unsigned int SignatureMethod_isUsed:1;
+	unsigned int PMaxSchedule_isUsed:1;
+	unsigned int Unit_isUsed:1;
+	unsigned int X509IssuerName_isUsed:1;
+	unsigned int Reference_isUsed:1;
+	unsigned int ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed:1;
+	unsigned int EVPowerDeliveryParameter_isUsed:1;
+	unsigned int ChargingProfileEntryMaxPower_isUsed:1;
+	unsigned int ChargeParameterDiscoveryReq_isUsed:1;
+	unsigned int duration_isUsed:1;
+	unsigned int TMeter_isUsed:1;
+	unsigned int ChargeParameterDiscoveryRes_isUsed:1;
+	unsigned int ServiceList_isUsed:1;
+	unsigned int SAScheduleTuple_isUsed:1;
+	unsigned int BodyElement_isUsed:1;
+	unsigned int RemainingTimeToFullSoC_isUsed:1;
+	unsigned int RelativeTimeInterval_isUsed:1;
+	unsigned int Transform_isUsed:1;
+	unsigned int DepartureTime_isUsed:1;
+	unsigned int Object_isUsed:1;
+	unsigned int EVEnergyRequest_isUsed:1;
+	unsigned int Modulus_isUsed:1;
+	unsigned int ChargingSession_isUsed:1;
+	unsigned int RequestedEnergyTransferMode_isUsed:1;
+
+
+	int _warning_;
+};
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
+
+
+/* Initialization methods for structs */
+
+void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc);
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag);
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
+void init_iso1IntervalType(struct iso1IntervalType* iso1IntervalType);
+void init_iso1SASchedulesType(struct iso1SASchedulesType* iso1SASchedulesType);
+void init_iso1PaymentOptionListType(struct iso1PaymentOptionListType* iso1PaymentOptionListType);
+void init_iso1CertificateUpdateReqType(struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType);
+void init_iso1SelectedServiceType(struct iso1SelectedServiceType* iso1SelectedServiceType);
+void init_iso1CertificateInstallationResType(struct iso1CertificateInstallationResType* iso1CertificateInstallationResType);
+void init_iso1SignatureMethodType(struct iso1SignatureMethodType* iso1SignatureMethodType);
+void init_iso1DSAKeyValueType(struct iso1DSAKeyValueType* iso1DSAKeyValueType);
+void init_iso1CostType(struct iso1CostType* iso1CostType);
+void init_iso1MeterInfoType(struct iso1MeterInfoType* iso1MeterInfoType);
+void init_iso1MeteringReceiptResType(struct iso1MeteringReceiptResType* iso1MeteringReceiptResType);
+void init_iso1CableCheckResType(struct iso1CableCheckResType* iso1CableCheckResType);
+void init_iso1X509IssuerSerialType(struct iso1X509IssuerSerialType* iso1X509IssuerSerialType);
+void init_iso1PGPDataType(struct iso1PGPDataType* iso1PGPDataType);
+void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType);
+void init_iso1PMaxScheduleType(struct iso1PMaxScheduleType* iso1PMaxScheduleType);
+void init_iso1SessionStopReqType(struct iso1SessionStopReqType* iso1SessionStopReqType);
+void init_iso1SelectedServiceListType(struct iso1SelectedServiceListType* iso1SelectedServiceListType);
+void init_iso1TransformsType(struct iso1TransformsType* iso1TransformsType);
+void init_iso1SignaturePropertyType(struct iso1SignaturePropertyType* iso1SignaturePropertyType);
+void init_iso1ChargeParameterDiscoveryResType(struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType);
+void init_iso1ServiceDetailReqType(struct iso1ServiceDetailReqType* iso1ServiceDetailReqType);
+void init_iso1PowerDeliveryReqType(struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType);
+void init_iso1PaymentDetailsReqType(struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType);
+void init_iso1DC_EVStatusType(struct iso1DC_EVStatusType* iso1DC_EVStatusType);
+void init_iso1MeteringReceiptReqType(struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType);
+void init_iso1PowerDeliveryResType(struct iso1PowerDeliveryResType* iso1PowerDeliveryResType);
+void init_iso1DC_EVSEStatusType(struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType);
+void init_iso1SignatureValueType(struct iso1SignatureValueType* iso1SignatureValueType);
+void init_iso1EVPowerDeliveryParameterType(struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType);
+void init_iso1PaymentServiceSelectionReqType(struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType);
+void init_iso1AuthorizationReqType(struct iso1AuthorizationReqType* iso1AuthorizationReqType);
+void init_iso1X509DataType(struct iso1X509DataType* iso1X509DataType);
+void init_iso1CurrentDemandReqType(struct iso1CurrentDemandReqType* iso1CurrentDemandReqType);
+void init_iso1WeldingDetectionResType(struct iso1WeldingDetectionResType* iso1WeldingDetectionResType);
+void init_iso1RetrievalMethodType(struct iso1RetrievalMethodType* iso1RetrievalMethodType);
+void init_iso1EVStatusType(struct iso1EVStatusType* iso1EVStatusType);
+void init_iso1EVSEChargeParameterType(struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType);
+void init_iso1ListOfRootCertificateIDsType(struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType);
+void init_iso1CertificateUpdateResType(struct iso1CertificateUpdateResType* iso1CertificateUpdateResType);
+void init_iso1WeldingDetectionReqType(struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType);
+void init_iso1AC_EVSEStatusType(struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType);
+void init_iso1SubCertificatesType(struct iso1SubCertificatesType* iso1SubCertificatesType);
+void init_iso1ChargeParameterDiscoveryReqType(struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType);
+void init_iso1ParameterType(struct iso1ParameterType* iso1ParameterType);
+void init_iso1CableCheckReqType(struct iso1CableCheckReqType* iso1CableCheckReqType);
+void init_iso1KeyInfoType(struct iso1KeyInfoType* iso1KeyInfoType);
+void init_iso1ServiceDiscoveryResType(struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType);
+void init_iso1SalesTariffType(struct iso1SalesTariffType* iso1SalesTariffType);
+void init_iso1PreChargeReqType(struct iso1PreChargeReqType* iso1PreChargeReqType);
+void init_iso1ServiceListType(struct iso1ServiceListType* iso1ServiceListType);
+void init_iso1SAScheduleTupleType(struct iso1SAScheduleTupleType* iso1SAScheduleTupleType);
+void init_iso1ChargingStatusReqType(struct iso1ChargingStatusReqType* iso1ChargingStatusReqType);
+void init_iso1AC_EVSEChargeParameterType(struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType);
+void init_iso1BodyBaseType(struct iso1BodyBaseType* iso1BodyBaseType);
+void init_iso1SupportedEnergyTransferModeType(struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType);
+void init_iso1SignaturePropertiesType(struct iso1SignaturePropertiesType* iso1SignaturePropertiesType);
+void init_iso1ProfileEntryType(struct iso1ProfileEntryType* iso1ProfileEntryType);
+void init_iso1DC_EVPowerDeliveryParameterType(struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType);
+void init_iso1DiffieHellmanPublickeyType(struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType);
+void init_iso1ChargingStatusResType(struct iso1ChargingStatusResType* iso1ChargingStatusResType);
+void init_iso1AC_EVChargeParameterType(struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType);
+void init_iso1KeyValueType(struct iso1KeyValueType* iso1KeyValueType);
+void init_iso1CertificateInstallationReqType(struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType);
+void init_iso1SessionSetupResType(struct iso1SessionSetupResType* iso1SessionSetupResType);
+void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType);
+void init_iso1SessionSetupReqType(struct iso1SessionSetupReqType* iso1SessionSetupReqType);
+void init_iso1SAScheduleListType(struct iso1SAScheduleListType* iso1SAScheduleListType);
+void init_iso1DC_EVChargeParameterType(struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType);
+void init_iso1SPKIDataType(struct iso1SPKIDataType* iso1SPKIDataType);
+void init_iso1SignedInfoType(struct iso1SignedInfoType* iso1SignedInfoType);
+void init_iso1ServiceDetailResType(struct iso1ServiceDetailResType* iso1ServiceDetailResType);
+void init_iso1RelativeTimeIntervalType(struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType);
+void init_iso1CertificateChainType(struct iso1CertificateChainType* iso1CertificateChainType);
+void init_iso1ServiceType(struct iso1ServiceType* iso1ServiceType);
+void init_iso1ObjectType(struct iso1ObjectType* iso1ObjectType);
+void init_iso1RSAKeyValueType(struct iso1RSAKeyValueType* iso1RSAKeyValueType);
+void init_iso1DigestMethodType(struct iso1DigestMethodType* iso1DigestMethodType);
+void init_iso1EntryType(struct iso1EntryType* iso1EntryType);
+void init_iso1EVSEStatusType(struct iso1EVSEStatusType* iso1EVSEStatusType);
+void init_iso1ChargeServiceType(struct iso1ChargeServiceType* iso1ChargeServiceType);
+void init_iso1PreChargeResType(struct iso1PreChargeResType* iso1PreChargeResType);
+void init_iso1AnonType_V2G_Message(struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message);
+void init_iso1PaymentDetailsResType(struct iso1PaymentDetailsResType* iso1PaymentDetailsResType);
+void init_iso1ConsumptionCostType(struct iso1ConsumptionCostType* iso1ConsumptionCostType);
+void init_iso1ServiceParameterListType(struct iso1ServiceParameterListType* iso1ServiceParameterListType);
+void init_iso1SessionStopResType(struct iso1SessionStopResType* iso1SessionStopResType);
+void init_iso1EVChargeParameterType(struct iso1EVChargeParameterType* iso1EVChargeParameterType);
+void init_iso1PaymentServiceSelectionResType(struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType);
+void init_iso1CurrentDemandResType(struct iso1CurrentDemandResType* iso1CurrentDemandResType);
+void init_iso1ParameterSetType(struct iso1ParameterSetType* iso1ParameterSetType);
+void init_iso1ChargingProfileType(struct iso1ChargingProfileType* iso1ChargingProfileType);
+void init_iso1ReferenceType(struct iso1ReferenceType* iso1ReferenceType);
+void init_iso1SalesTariffEntryType(struct iso1SalesTariffEntryType* iso1SalesTariffEntryType);
+void init_iso1BodyType(struct iso1BodyType* iso1BodyType);
+void init_iso1EMAIDType(struct iso1EMAIDType* iso1EMAIDType);
+void init_iso1ServiceDiscoveryReqType(struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType);
+void init_iso1AuthorizationResType(struct iso1AuthorizationResType* iso1AuthorizationResType);
+void init_iso1NotificationType(struct iso1NotificationType* iso1NotificationType);
+void init_iso1ManifestType(struct iso1ManifestType* iso1ManifestType);
+void init_iso1ContractSignatureEncryptedPrivateKeyType(struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType);
+void init_iso1DC_EVSEChargeParameterType(struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType);
+void init_iso1CanonicalizationMethodType(struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType);
+void init_iso1PMaxScheduleEntryType(struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType);
+void init_iso1TransformType(struct iso1TransformType* iso1TransformType);
+void init_iso1PhysicalValueType(struct iso1PhysicalValueType* iso1PhysicalValueType);
+
+
+#endif /* DEPLOY_ISO2_CODEC */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 13700 - 0
src/iso1/iso1EXIDatatypesDecoder.c


+ 10 - 10
src/codec/v2gEXIDatatypesDecoder.h → src/iso1/iso1EXIDatatypesDecoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 2017-03-02 
+ * @version 2017-03-23 
  * @contact Joerg.Heuer@siemens.com
  *
  * <p>Code generated by EXIdizer</p>
@@ -35,27 +35,27 @@
  *
  */
 
-#ifndef EXI_v2g_DATATYPES_DECODER_H
-#define EXI_v2g_DATATYPES_DECODER_H
+#ifndef EXI_iso1_DATATYPES_DECODER_H
+#define EXI_iso1_DATATYPES_DECODER_H
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#if DEPLOY_ISO_CODEC == SUPPORT_YES
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
 
 #include <stdint.h>
 
 #include "EXITypes.h"
-#include "v2gEXIDatatypes.h"
+#include "iso1EXIDatatypes.h"
 
-int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc);
+int decode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc);
 
-#if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES
-int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag);
-#endif /* DEPLOY_ISO_CODEC_FRAGMENT */
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag);
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
 
-#endif /* DEPLOY_ISO_CODEC */
+#endif /* DEPLOY_ISO2_CODEC */
 
 #ifdef __cplusplus
 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 9667 - 0
src/iso1/iso1EXIDatatypesEncoder.c


+ 10 - 10
src/codec/v2gEXIDatatypesEncoder.h → src/iso1/iso1EXIDatatypesEncoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 2017-03-02 
+ * @version 2017-03-23 
  * @contact Joerg.Heuer@siemens.com
  *
  * <p>Code generated by EXIdizer</p>
@@ -35,29 +35,29 @@
  *
  */
 
-#ifndef EXI_v2g_DATATYPES_ENCODER_H
-#define EXI_v2g_DATATYPES_ENCODER_H
+#ifndef EXI_iso1_DATATYPES_ENCODER_H
+#define EXI_iso1_DATATYPES_ENCODER_H
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#if DEPLOY_ISO_CODEC == SUPPORT_YES
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
 
 #include <stdint.h>
 
 #include "EXITypes.h"
-#include "v2gEXIDatatypes.h"
+#include "iso1EXIDatatypes.h"
 
 
-int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc);
+int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc);
 
-#if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES
-int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag);
-#endif /* DEPLOY_ISO_CODEC_FRAGMENT */
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag);
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
 
 
-#endif /* DEPLOY_ISO_CODEC */
+#endif /* DEPLOY_ISO2_CODEC */
 
 #ifdef __cplusplus
 }

+ 1496 - 0
src/iso2/iso2EXIDatatypes.c

@@ -0,0 +1,1496 @@
+/*
+ * Copyright (C) 2007-2017 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*******************************************************************
+ *
+ * @author Daniel.Peintner.EXT@siemens.com
+ * @version 2017-03-23 
+ * @contact Joerg.Heuer@siemens.com
+ *
+ * <p>Code generated by EXIdizer</p>
+ * <p>Schema: V2G_CI_MsgDef.xsd</p>
+ *
+ *
+ ********************************************************************/
+
+
+
+#include <stdint.h>
+
+#include "iso2EXIDatatypes.h"
+#include "EXITypes.h"
+
+
+#ifndef EXI_iso2_DATATYPES_C
+#define EXI_iso2_DATATYPES_C
+
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
+
+
+void init_iso2EXIDocument(struct iso2EXIDocument* exiDoc) {
+	exiDoc->V2G_Message_isUsed = 0u;
+	exiDoc->ServiceDiscoveryReq_isUsed = 0u;
+	exiDoc->ServiceDiscoveryRes_isUsed = 0u;
+	exiDoc->FinePositioningReq_isUsed = 0u;
+	exiDoc->FinePositioningRes_isUsed = 0u;
+	exiDoc->DisconnectChargingDeviceReq_isUsed = 0u;
+	exiDoc->DisconnectChargingDeviceRes_isUsed = 0u;
+	exiDoc->PowerDemandReq_isUsed = 0u;
+	exiDoc->MeteringReceiptReq_isUsed = 0u;
+	exiDoc->PaymentDetailsReq_isUsed = 0u;
+	exiDoc->PowerDemandRes_isUsed = 0u;
+	exiDoc->MeteringReceiptRes_isUsed = 0u;
+	exiDoc->PaymentDetailsRes_isUsed = 0u;
+	exiDoc->SessionSetupReq_isUsed = 0u;
+	exiDoc->SessionSetupRes_isUsed = 0u;
+	exiDoc->CableCheckReq_isUsed = 0u;
+	exiDoc->CableCheckRes_isUsed = 0u;
+	exiDoc->CertificateInstallationReq_isUsed = 0u;
+	exiDoc->CertificateInstallationRes_isUsed = 0u;
+	exiDoc->SystemStatusReq_isUsed = 0u;
+	exiDoc->SystemStatusRes_isUsed = 0u;
+	exiDoc->PairingReq_isUsed = 0u;
+	exiDoc->WeldingDetectionReq_isUsed = 0u;
+	exiDoc->ConnectChargingDeviceReq_isUsed = 0u;
+	exiDoc->PairingRes_isUsed = 0u;
+	exiDoc->WeldingDetectionRes_isUsed = 0u;
+	exiDoc->ConnectChargingDeviceRes_isUsed = 0u;
+	exiDoc->CertificateUpdateReq_isUsed = 0u;
+	exiDoc->CertificateUpdateRes_isUsed = 0u;
+	exiDoc->PaymentServiceSelectionReq_isUsed = 0u;
+	exiDoc->PowerDeliveryReq_isUsed = 0u;
+	exiDoc->PaymentServiceSelectionRes_isUsed = 0u;
+	exiDoc->PowerDeliveryRes_isUsed = 0u;
+	exiDoc->ChargingStatusReq_isUsed = 0u;
+	exiDoc->ChargingStatusRes_isUsed = 0u;
+	exiDoc->BodyElement_isUsed = 0u;
+	exiDoc->AC_BidirectionalControlReq_isUsed = 0u;
+	exiDoc->AC_BidirectionalControlRes_isUsed = 0u;
+	exiDoc->VehicleCheckInReq_isUsed = 0u;
+	exiDoc->CurrentDemandReq_isUsed = 0u;
+	exiDoc->VehicleCheckInRes_isUsed = 0u;
+	exiDoc->PreChargeReq_isUsed = 0u;
+	exiDoc->CurrentDemandRes_isUsed = 0u;
+	exiDoc->PreChargeRes_isUsed = 0u;
+	exiDoc->AlignmentCheckReq_isUsed = 0u;
+	exiDoc->V2GRequest_isUsed = 0u;
+	exiDoc->SessionStopReq_isUsed = 0u;
+	exiDoc->AuthorizationReq_isUsed = 0u;
+	exiDoc->AlignmentCheckRes_isUsed = 0u;
+	exiDoc->SessionStopRes_isUsed = 0u;
+	exiDoc->AuthorizationRes_isUsed = 0u;
+	exiDoc->VehicleCheckOutReq_isUsed = 0u;
+	exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u;
+	exiDoc->VehicleCheckOutRes_isUsed = 0u;
+	exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u;
+	exiDoc->V2GResponse_isUsed = 0u;
+	exiDoc->FinePositioningSetupReq_isUsed = 0u;
+	exiDoc->FinePositioningSetupRes_isUsed = 0u;
+	exiDoc->ServiceDetailReq_isUsed = 0u;
+	exiDoc->DC_BidirectionalControlReq_isUsed = 0u;
+	exiDoc->ServiceDetailRes_isUsed = 0u;
+	exiDoc->DC_BidirectionalControlRes_isUsed = 0u;
+	exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 0u;
+	exiDoc->MV_EVSEFinePositioningParameters_isUsed = 0u;
+	exiDoc->RelativeTimeInterval_isUsed = 0u;
+	exiDoc->SalesTariffEntry_isUsed = 0u;
+	exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u;
+	exiDoc->AC_EVChargeParameter_isUsed = 0u;
+	exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 0u;
+	exiDoc->EVEnergyTransferParameter_isUsed = 0u;
+	exiDoc->DC_EVSEBidirectionalParameter_isUsed = 0u;
+	exiDoc->SAScheduleList_isUsed = 0u;
+	exiDoc->EVSEFinePositioningSetupParameters_isUsed = 0u;
+	exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 0u;
+	exiDoc->DC_EVChargeParameter_isUsed = 0u;
+	exiDoc->DC_EVSEChargeParameter_isUsed = 0u;
+	exiDoc->LFA_EVFinePositioningParameters_isUsed = 0u;
+	exiDoc->EVFinePositioningSetupParameters_isUsed = 0u;
+	exiDoc->AC_EVSEBidirectionalParameter_isUsed = 0u;
+	exiDoc->EVFinePositioningParameters_isUsed = 0u;
+	exiDoc->WPT_EVChargeParameter_isUsed = 0u;
+	exiDoc->LFA_EVSEFinePositioningParameters_isUsed = 0u;
+	exiDoc->EVSEEnergyTransferParameter_isUsed = 0u;
+	exiDoc->AC_EVBidirectionalParameter_isUsed = 0u;
+	exiDoc->EVSEFinePositioningParameters_isUsed = 0u;
+	exiDoc->WPT_EVSEChargeParameter_isUsed = 0u;
+	exiDoc->AC_EVSEChargeParameter_isUsed = 0u;
+	exiDoc->PMaxScheduleEntry_isUsed = 0u;
+	exiDoc->Generic_EVFinePositioningParameters_isUsed = 0u;
+	exiDoc->DC_EVBidirectionalParameter_isUsed = 0u;
+	exiDoc->SignatureProperty_isUsed = 0u;
+	exiDoc->DSAKeyValue_isUsed = 0u;
+	exiDoc->SignatureProperties_isUsed = 0u;
+	exiDoc->KeyValue_isUsed = 0u;
+	exiDoc->Transforms_isUsed = 0u;
+	exiDoc->DigestMethod_isUsed = 0u;
+	exiDoc->Signature_isUsed = 0u;
+	exiDoc->RetrievalMethod_isUsed = 0u;
+	exiDoc->Manifest_isUsed = 0u;
+	exiDoc->Reference_isUsed = 0u;
+	exiDoc->CanonicalizationMethod_isUsed = 0u;
+	exiDoc->RSAKeyValue_isUsed = 0u;
+	exiDoc->Transform_isUsed = 0u;
+	exiDoc->PGPData_isUsed = 0u;
+	exiDoc->MgmtData_isUsed = 0u;
+	exiDoc->SignatureMethod_isUsed = 0u;
+	exiDoc->KeyInfo_isUsed = 0u;
+	exiDoc->SPKIData_isUsed = 0u;
+	exiDoc->X509Data_isUsed = 0u;
+	exiDoc->SignatureValue_isUsed = 0u;
+	exiDoc->KeyName_isUsed = 0u;
+	exiDoc->DigestValue_isUsed = 0u;
+	exiDoc->SignedInfo_isUsed = 0u;
+	exiDoc->Object_isUsed = 0u;
+}
+
+
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+void init_iso2EXIFragment(struct iso2EXIFragment* exiFrag) {
+	exiFrag->EVMaximumVoltage_isUsed = 0u;
+	exiFrag->EVMaximumVoltage_isUsed = 0u;
+	exiFrag->FrequencyChannel_isUsed = 0u;
+	exiFrag->FrequencyChannel_isUsed = 0u;
+	exiFrag->EVProcessing_isUsed = 0u;
+	exiFrag->EVProcessing_isUsed = 0u;
+	exiFrag->EVProcessing_isUsed = 0u;
+	exiFrag->BulkChargingComplete_isUsed = 0u;
+	exiFrag->ParkingMethod_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->Distance_isUsed = 0u;
+	exiFrag->ParameterSet_isUsed = 0u;
+	exiFrag->EVMinimumDischargeCurrent_isUsed = 0u;
+	exiFrag->SignalSeparationTime_isUsed = 0u;
+	exiFrag->SignalSeparationTime_isUsed = 0u;
+	exiFrag->EVSEEnergyTransferParameter_isUsed = 0u;
+	exiFrag->EVSEMaximumVoltage_isUsed = 0u;
+	exiFrag->EVSEMaximumVoltage_isUsed = 0u;
+	exiFrag->DC_EVSEBidirectionalParameter_isUsed = 0u;
+	exiFrag->ChargingSession_isUsed = 0u;
+	exiFrag->SubCertificates_isUsed = 0u;
+	exiFrag->RetrievalMethod_isUsed = 0u;
+	exiFrag->MagneticVectorSetupList_isUsed = 0u;
+	exiFrag->PairingParameters_isUsed = 0u;
+	exiFrag->PairingParameters_isUsed = 0u;
+	exiFrag->EVSEMinimumPower_isUsed = 0u;
+	exiFrag->AC_BidirectionalControlReq_isUsed = 0u;
+	exiFrag->Cost_isUsed = 0u;
+	exiFrag->AC_BidirectionalControlRes_isUsed = 0u;
+	exiFrag->BuyBackTariff_isUsed = 0u;
+	exiFrag->XCoordinate_isUsed = 0u;
+	exiFrag->EVSECheckOutStatus_isUsed = 0u;
+	exiFrag->stringValue_isUsed = 0u;
+	exiFrag->RetryCounter_isUsed = 0u;
+	exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->Sensor_isUsed = 0u;
+	exiFrag->MeterReadingCharged_isUsed = 0u;
+	exiFrag->HMACOutputLength_isUsed = 0u;
+	exiFrag->V2GResponse_isUsed = 0u;
+	exiFrag->EVMinimumVoltage_isUsed = 0u;
+	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
+	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
+	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
+	exiFrag->RelativeTimeInterval_isUsed = 0u;
+	exiFrag->RelativeTimeInterval_isUsed = 0u;
+	exiFrag->WPT_EVChargeParameter_isUsed = 0u;
+	exiFrag->SAScheduleTuple_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->PgenCounter_isUsed = 0u;
+	exiFrag->SalesTariffDescription_isUsed = 0u;
+	exiFrag->AngleGAtoVA_isUsed = 0u;
+	exiFrag->boolValue_isUsed = 0u;
+	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->NotificationMaxDelay_isUsed = 0u;
+	exiFrag->EVSEMaximumDischargePower_isUsed = 0u;
+	exiFrag->PGPData_isUsed = 0u;
+	exiFrag->EVSEMaximumChargePower_isUsed = 0u;
+	exiFrag->SessionID_isUsed = 0u;
+	exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u;
+	exiFrag->EVMaximumPower_isUsed = 0u;
+	exiFrag->EVMaximumCurrent_isUsed = 0u;
+	exiFrag->RSAKeyValue_isUsed = 0u;
+	exiFrag->EVSENominalVoltage_isUsed = 0u;
+	exiFrag->MagneticVector_isUsed = 0u;
+	exiFrag->XPath_isUsed = 0u;
+	exiFrag->Signature_isUsed = 0u;
+	exiFrag->EVElectricalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVElectricalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->EVSEProcessing_isUsed = 0u;
+	exiFrag->FODStatus_isUsed = 0u;
+	exiFrag->PowerDeliveryRes_isUsed = 0u;
+	exiFrag->SessionStopRes_isUsed = 0u;
+	exiFrag->WPT_EVSEChargeParameter_isUsed = 0u;
+	exiFrag->ResponseCode_isUsed = 0u;
+	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
+	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
+	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
+	exiFrag->FinePositioningSetupReq_isUsed = 0u;
+	exiFrag->EVSEPresentCurrent_isUsed = 0u;
+	exiFrag->EVSEPresentCurrent_isUsed = 0u;
+	exiFrag->FinePositioningSetupRes_isUsed = 0u;
+	exiFrag->ProfileEntry_isUsed = 0u;
+	exiFrag->MgmtData_isUsed = 0u;
+	exiFrag->SAProvisioningCertificateChain_isUsed = 0u;
+	exiFrag->SAProvisioningCertificateChain_isUsed = 0u;
+	exiFrag->PowerDeliveryReq_isUsed = 0u;
+	exiFrag->SessionStopReq_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ReceiptRequired_isUsed = 0u;
+	exiFrag->ChargingProfile_isUsed = 0u;
+	exiFrag->MaxSupportingPoints_isUsed = 0u;
+	exiFrag->start_isUsed = 0u;
+	exiFrag->EVMinimumChargePower_isUsed = 0u;
+	exiFrag->amount_isUsed = 0u;
+	exiFrag->PreChargeReq_isUsed = 0u;
+	exiFrag->OEMProvisioningCert_isUsed = 0u;
+	exiFrag->PackageIndex_isUsed = 0u;
+	exiFrag->PreChargeRes_isUsed = 0u;
+	exiFrag->P_isUsed = 0u;
+	exiFrag->Q_isUsed = 0u;
+	exiFrag->X509SubjectName_isUsed = 0u;
+	exiFrag->G_isUsed = 0u;
+	exiFrag->J_isUsed = 0u;
+	exiFrag->SessionID_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->ContractSignatureCertChain_isUsed = 0u;
+	exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 0u;
+	exiFrag->EVSEMinimumDischargeCurrent_isUsed = 0u;
+	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->AlignmentOffset_isUsed = 0u;
+	exiFrag->AlignmentOffset_isUsed = 0u;
+	exiFrag->Y_isUsed = 0u;
+	exiFrag->RemainingTimeToTargetSOC_isUsed = 0u;
+	exiFrag->DigestValue_isUsed = 0u;
+	exiFrag->SensorMeasurements_isUsed = 0u;
+	exiFrag->SalesTariff_isUsed = 0u;
+	exiFrag->EVCCID_isUsed = 0u;
+	exiFrag->EVSEMaximumPower_isUsed = 0u;
+	exiFrag->TargetOffset_isUsed = 0u;
+	exiFrag->PowerDemandParameters_isUsed = 0u;
+	exiFrag->PowerDemandParameters_isUsed = 0u;
+	exiFrag->PGPKeyID_isUsed = 0u;
+	exiFrag->DisconnectChargingDeviceReq_isUsed = 0u;
+	exiFrag->DisconnectChargingDeviceRes_isUsed = 0u;
+	exiFrag->DSAKeyValue_isUsed = 0u;
+	exiFrag->SalesTariffEntry_isUsed = 0u;
+	exiFrag->CertificateInstallationRes_isUsed = 0u;
+	exiFrag->CanonicalizationMethod_isUsed = 0u;
+	exiFrag->Generic_EVFinePositioningParameters_isUsed = 0u;
+	exiFrag->EVSEMinimumVoltage_isUsed = 0u;
+	exiFrag->SystemStatusRes_isUsed = 0u;
+	exiFrag->EVSEOutputPower_isUsed = 0u;
+	exiFrag->SignedInfo_isUsed = 0u;
+	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
+	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
+	exiFrag->costKind_isUsed = 0u;
+	exiFrag->SystemStatusReq_isUsed = 0u;
+	exiFrag->CableCheckReq_isUsed = 0u;
+	exiFrag->NumEPriceLevels_isUsed = 0u;
+	exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u;
+	exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u;
+	exiFrag->PackageSeparationTime_isUsed = 0u;
+	exiFrag->PackageSeparationTime_isUsed = 0u;
+	exiFrag->CableCheckRes_isUsed = 0u;
+	exiFrag->EVCheckInStatus_isUsed = 0u;
+	exiFrag->PMaxDischargeSchedule_isUsed = 0u;
+	exiFrag->EVMinimumPower_isUsed = 0u;
+	exiFrag->ChargingPerformance_isUsed = 0u;
+	exiFrag->AlignmentCheckReq_isUsed = 0u;
+	exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->VehicleSpace_isUsed = 0u;
+	exiFrag->AlignmentCheckRes_isUsed = 0u;
+	exiFrag->EVMinimumDischargePower_isUsed = 0u;
+	exiFrag->RemainingTimeToMinimumSOC_isUsed = 0u;
+	exiFrag->AuthorizationRes_isUsed = 0u;
+	exiFrag->CertificateInstallationReq_isUsed = 0u;
+	exiFrag->PaymentDetailsReq_isUsed = 0u;
+	exiFrag->PaymentDetailsRes_isUsed = 0u;
+	exiFrag->AuthorizationReq_isUsed = 0u;
+	exiFrag->EVTargetCurrent_isUsed = 0u;
+	exiFrag->EVTargetCurrent_isUsed = 0u;
+	exiFrag->EVTargetCurrent_isUsed = 0u;
+	exiFrag->SessionSetupReq_isUsed = 0u;
+	exiFrag->SessionSetupRes_isUsed = 0u;
+	exiFrag->EVSENominalFrequency_isUsed = 0u;
+	exiFrag->EVSENominalFrequency_isUsed = 0u;
+	exiFrag->Header_isUsed = 0u;
+	exiFrag->NumberOfSensors_isUsed = 0u;
+	exiFrag->NumberOfSensors_isUsed = 0u;
+	exiFrag->EVSETimeStamp_isUsed = 0u;
+	exiFrag->EVSETimeStamp_isUsed = 0u;
+	exiFrag->MeterStatus_isUsed = 0u;
+	exiFrag->EVSEMaximumPower_isUsed = 0u;
+	exiFrag->MV_EVSEFinePositioningParameters_isUsed = 0u;
+	exiFrag->ChargeProgress_isUsed = 0u;
+	exiFrag->KeyName_isUsed = 0u;
+	exiFrag->PMaxSchedule_isUsed = 0u;
+	exiFrag->duration_isUsed = 0u;
+	exiFrag->RemainingTimeToBulkSOC_isUsed = 0u;
+	exiFrag->SensorOrientation_isUsed = 0u;
+	exiFrag->EVSEMinimumVoltage_isUsed = 0u;
+	exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->LFA_EVSEFinePositioningParameters_isUsed = 0u;
+	exiFrag->VehicleCheckInRes_isUsed = 0u;
+	exiFrag->PMaxScheduleEntry_isUsed = 0u;
+	exiFrag->SAScheduleList_isUsed = 0u;
+	exiFrag->X509SKI_isUsed = 0u;
+	exiFrag->PaymentOptionList_isUsed = 0u;
+	exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u;
+	exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u;
+	exiFrag->VehicleCheckInReq_isUsed = 0u;
+	exiFrag->Certificate_isUsed = 0u;
+	exiFrag->Certificate_isUsed = 0u;
+	exiFrag->CheckOutTime_isUsed = 0u;
+	exiFrag->CurrentSOC_isUsed = 0u;
+	exiFrag->CurrentSOC_isUsed = 0u;
+	exiFrag->ZCoordinate_isUsed = 0u;
+	exiFrag->MeasurementData_isUsed = 0u;
+	exiFrag->PairingRes_isUsed = 0u;
+	exiFrag->EVSEMaximumCurrent_isUsed = 0u;
+	exiFrag->LFA_EVFinePositioningParameters_isUsed = 0u;
+	exiFrag->AlignmentCheckParameters_isUsed = 0u;
+	exiFrag->AlignmentCheckParameters_isUsed = 0u;
+	exiFrag->EffectiveRadiatedPower_isUsed = 0u;
+	exiFrag->PairingReq_isUsed = 0u;
+	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
+	exiFrag->EVMinimumChargeCurrent_isUsed = 0u;
+	exiFrag->Value_isUsed = 0u;
+	exiFrag->byteValue_isUsed = 0u;
+	exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->CurrentDemandReq_isUsed = 0u;
+	exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 0u;
+	exiFrag->CurrentDemandRes_isUsed = 0u;
+	exiFrag->SAScheduleList_isUsed = 0u;
+	exiFrag->AC_EVBidirectionalParameter_isUsed = 0u;
+	exiFrag->Modulus_isUsed = 0u;
+	exiFrag->SelectedEnergyTransferService_isUsed = 0u;
+	exiFrag->startValue_isUsed = 0u;
+	exiFrag->SelectedVASList_isUsed = 0u;
+	exiFrag->EVSEMaximumDischargePower_isUsed = 0u;
+	exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u;
+	exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u;
+	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->EVMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->SigMeterReading_isUsed = 0u;
+	exiFrag->TargetSOC_isUsed = 0u;
+	exiFrag->TargetSOC_isUsed = 0u;
+	exiFrag->EVMaximumPower_isUsed = 0u;
+	exiFrag->EVSEMaximumChargePower_isUsed = 0u;
+	exiFrag->EVSEStatus_isUsed = 0u;
+	exiFrag->EVSEMinimumChargeCurrent_isUsed = 0u;
+	exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->X509SerialNumber_isUsed = 0u;
+	exiFrag->PaymentOption_isUsed = 0u;
+	exiFrag->Transforms_isUsed = 0u;
+	exiFrag->EVSEPeakCurrentRipple_isUsed = 0u;
+	exiFrag->ConsumptionCost_isUsed = 0u;
+	exiFrag->EVTargetEnergyRequest_isUsed = 0u;
+	exiFrag->EVSEFinePositioningSetupParameters_isUsed = 0u;
+	exiFrag->EPriceLevel_isUsed = 0u;
+	exiFrag->Exponent_isUsed = 0u;
+	exiFrag->X509IssuerSerial_isUsed = 0u;
+	exiFrag->SPKIData_isUsed = 0u;
+	exiFrag->MagneticVectorList_isUsed = 0u;
+	exiFrag->EVSEFinePositioningParameters_isUsed = 0u;
+	exiFrag->EVTargetPower_isUsed = 0u;
+	exiFrag->SensorPackageList_isUsed = 0u;
+	exiFrag->SensorPackageList_isUsed = 0u;
+	exiFrag->DepartureTime_isUsed = 0u;
+	exiFrag->InletHot_isUsed = 0u;
+	exiFrag->EVPresentActivePower_isUsed = 0u;
+	exiFrag->X509Data_isUsed = 0u;
+	exiFrag->YCoordinate_isUsed = 0u;
+	exiFrag->KeyValue_isUsed = 0u;
+	exiFrag->DisplayParameters_isUsed = 0u;
+	exiFrag->EVSEPowerLimitAchieved_isUsed = 0u;
+	exiFrag->EVSEPowerLimitAchieved_isUsed = 0u;
+	exiFrag->Body_isUsed = 0u;
+	exiFrag->DC_EVChargeParameter_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->SAScheduleTupleID_isUsed = 0u;
+	exiFrag->Service_isUsed = 0u;
+	exiFrag->EVMinimumDischargeCurrent_isUsed = 0u;
+	exiFrag->EVMinimumDischargeCurrent_isUsed = 0u;
+	exiFrag->SignatureProperty_isUsed = 0u;
+	exiFrag->PGPKeyPacket_isUsed = 0u;
+	exiFrag->PGPKeyPacket_isUsed = 0u;
+	exiFrag->Seed_isUsed = 0u;
+	exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 0u;
+	exiFrag->MinimumPMaxRequest_isUsed = 0u;
+	exiFrag->FinePositioningReq_isUsed = 0u;
+	exiFrag->EnergyTransferServiceList_isUsed = 0u;
+	exiFrag->FinePositioningRes_isUsed = 0u;
+	exiFrag->AC_EVSEBidirectionalParameter_isUsed = 0u;
+	exiFrag->FreeService_isUsed = 0u;
+	exiFrag->EVMinimumVoltage_isUsed = 0u;
+	exiFrag->AC_EVSEChargeParameter_isUsed = 0u;
+	exiFrag->EVMaximumVoltage_isUsed = 0u;
+	exiFrag->EVMaximumVoltage_isUsed = 0u;
+	exiFrag->SensorID_isUsed = 0u;
+	exiFrag->SensorID_isUsed = 0u;
+	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->EVMaximumChargeCurrent_isUsed = 0u;
+	exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u;
+	exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->ServiceID_isUsed = 0u;
+	exiFrag->EVEnergyTransferParameter_isUsed = 0u;
+	exiFrag->SignalPulseDuration_isUsed = 0u;
+	exiFrag->SignalPulseDuration_isUsed = 0u;
+	exiFrag->shortValue_isUsed = 0u;
+	exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u;
+	exiFrag->Manifest_isUsed = 0u;
+	exiFrag->DC_EVSEChargeParameter_isUsed = 0u;
+	exiFrag->MeteringReceiptReq_isUsed = 0u;
+	exiFrag->MeterID_isUsed = 0u;
+	exiFrag->MeteringReceiptRes_isUsed = 0u;
+	exiFrag->ServiceDiscoveryReq_isUsed = 0u;
+	exiFrag->SalesTariffID_isUsed = 0u;
+	exiFrag->ServiceDiscoveryRes_isUsed = 0u;
+	exiFrag->X509CRL_isUsed = 0u;
+	exiFrag->MagneticVectorSetup_isUsed = 0u;
+	exiFrag->DigestMethod_isUsed = 0u;
+	exiFrag->SPKISexp_isUsed = 0u;
+	exiFrag->MeterReadingDischarged_isUsed = 0u;
+	exiFrag->MeasurementDataList_isUsed = 0u;
+	exiFrag->SignatureProperties_isUsed = 0u;
+	exiFrag->SensorPosition_isUsed = 0u;
+	exiFrag->SensorPosition_isUsed = 0u;
+	exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->eMAID_isUsed = 0u;
+	exiFrag->SensorPackage_isUsed = 0u;
+	exiFrag->EVCheckOutStatus_isUsed = 0u;
+	exiFrag->EVMinimumEnergyRequest_isUsed = 0u;
+	exiFrag->X509Certificate_isUsed = 0u;
+	exiFrag->RootCertificateID_isUsed = 0u;
+	exiFrag->DC_BidirectionalControlReq_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->DC_BidirectionalControlRes_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->VASList_isUsed = 0u;
+	exiFrag->EVSEPresentVoltage_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->MeterInfo_isUsed = 0u;
+	exiFrag->EVSETargetReactivePower_isUsed = 0u;
+	exiFrag->ChargingStatusReq_isUsed = 0u;
+	exiFrag->GenericParameters_isUsed = 0u;
+	exiFrag->GenericParameters_isUsed = 0u;
+	exiFrag->ChargingStatusRes_isUsed = 0u;
+	exiFrag->EVMaximumChargePower_isUsed = 0u;
+	exiFrag->EVMaximumChargePower_isUsed = 0u;
+	exiFrag->BulkSOC_isUsed = 0u;
+	exiFrag->BulkSOC_isUsed = 0u;
+	exiFrag->NumberOfSignalPackages_isUsed = 0u;
+	exiFrag->NumberOfSignalPackages_isUsed = 0u;
+	exiFrag->ParameterSetID_isUsed = 0u;
+	exiFrag->PMax_isUsed = 0u;
+	exiFrag->ParameterSetID_isUsed = 0u;
+	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
+	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
+	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
+	exiFrag->EVOperation_isUsed = 0u;
+	exiFrag->EVOperation_isUsed = 0u;
+	exiFrag->CertificateUpdateRes_isUsed = 0u;
+	exiFrag->ChargingComplete_isUsed = 0u;
+	exiFrag->ListOfRootCertificateIDs_isUsed = 0u;
+	exiFrag->ListOfRootCertificateIDs_isUsed = 0u;
+	exiFrag->RotationVAtoGA_isUsed = 0u;
+	exiFrag->EVTargetVoltage_isUsed = 0u;
+	exiFrag->EVTargetVoltage_isUsed = 0u;
+	exiFrag->EVTargetVoltage_isUsed = 0u;
+	exiFrag->CertificateUpdateReq_isUsed = 0u;
+	exiFrag->ConnectChargingDeviceRes_isUsed = 0u;
+	exiFrag->DHpublickey_isUsed = 0u;
+	exiFrag->DHpublickey_isUsed = 0u;
+	exiFrag->ServiceParameterList_isUsed = 0u;
+	exiFrag->SignatureValue_isUsed = 0u;
+	exiFrag->physicalValue_isUsed = 0u;
+	exiFrag->Exponent_isUsed = 0u;
+	exiFrag->OperationMode_isUsed = 0u;
+	exiFrag->OperationMode_isUsed = 0u;
+	exiFrag->EVSECurrentLimitAchieved_isUsed = 0u;
+	exiFrag->EVSECurrentLimitAchieved_isUsed = 0u;
+	exiFrag->ServiceDetailReq_isUsed = 0u;
+	exiFrag->ServiceDetailRes_isUsed = 0u;
+	exiFrag->EVSEMaximumVoltage_isUsed = 0u;
+	exiFrag->intValue_isUsed = 0u;
+	exiFrag->EVMaximumDischargePower_isUsed = 0u;
+	exiFrag->EVMaximumDischargePower_isUsed = 0u;
+	exiFrag->MinimumSOC_isUsed = 0u;
+	exiFrag->MinimumSOC_isUsed = 0u;
+	exiFrag->SelectedPaymentOption_isUsed = 0u;
+	exiFrag->V2G_Message_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->EVSEID_isUsed = 0u;
+	exiFrag->TMeter_isUsed = 0u;
+	exiFrag->SensorOrder_isUsed = 0u;
+	exiFrag->SensorOrder_isUsed = 0u;
+	exiFrag->SupportedServiceIDs_isUsed = 0u;
+	exiFrag->GenChallenge_isUsed = 0u;
+	exiFrag->GenChallenge_isUsed = 0u;
+	exiFrag->EVFinePositioningParameters_isUsed = 0u;
+	exiFrag->SensorList_isUsed = 0u;
+	exiFrag->SensorList_isUsed = 0u;
+	exiFrag->KeyInfo_isUsed = 0u;
+	exiFrag->ConnectChargingDeviceReq_isUsed = 0u;
+	exiFrag->AC_EVChargeParameter_isUsed = 0u;
+	exiFrag->Parameter_isUsed = 0u;
+	exiFrag->WeldingDetectionRes_isUsed = 0u;
+	exiFrag->GAID_isUsed = 0u;
+	exiFrag->GAID_isUsed = 0u;
+	exiFrag->SignalFrequency_isUsed = 0u;
+	exiFrag->EVSETargetPower_isUsed = 0u;
+	exiFrag->DC_EVBidirectionalParameter_isUsed = 0u;
+	exiFrag->EVSETargetPower_isUsed = 0u;
+	exiFrag->SignatureMethod_isUsed = 0u;
+	exiFrag->WeldingDetectionReq_isUsed = 0u;
+	exiFrag->SelectedService_isUsed = 0u;
+	exiFrag->EVInputPower_isUsed = 0u;
+	exiFrag->VehicleCheckOutReq_isUsed = 0u;
+	exiFrag->EVMaximumDischargePower_isUsed = 0u;
+	exiFrag->EVMaximumDischargePower_isUsed = 0u;
+	exiFrag->PowerDemandReq_isUsed = 0u;
+	exiFrag->VehicleCheckOutRes_isUsed = 0u;
+	exiFrag->CurrentRange_isUsed = 0u;
+	exiFrag->EVPresentReactivePower_isUsed = 0u;
+	exiFrag->X509IssuerName_isUsed = 0u;
+	exiFrag->V2GRequest_isUsed = 0u;
+	exiFrag->Reference_isUsed = 0u;
+	exiFrag->BodyElement_isUsed = 0u;
+	exiFrag->MinimumPMaxScheduleEntry_isUsed = 0u;
+	exiFrag->EVFinePositioningSetupParameters_isUsed = 0u;
+	exiFrag->EVSENotification_isUsed = 0u;
+	exiFrag->PaymentServiceSelectionReq_isUsed = 0u;
+	exiFrag->EVMaximumChargePower_isUsed = 0u;
+	exiFrag->EVMaximumChargePower_isUsed = 0u;
+	exiFrag->EVMaximumChargePower_isUsed = 0u;
+	exiFrag->PaymentServiceSelectionRes_isUsed = 0u;
+	exiFrag->Transform_isUsed = 0u;
+	exiFrag->EVMaximumEnergyRequest_isUsed = 0u;
+	exiFrag->Object_isUsed = 0u;
+	exiFrag->TargetOffsetY_isUsed = 0u;
+	exiFrag->PowerDemandRes_isUsed = 0u;
+	exiFrag->TargetOffsetX_isUsed = 0u;
+}
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
+
+void init_iso2RetrievalMethodType(struct iso2RetrievalMethodType* iso2RetrievalMethodType) {
+	iso2RetrievalMethodType->URI_isUsed = 0u;
+	iso2RetrievalMethodType->Type_isUsed = 0u;
+	iso2RetrievalMethodType->Transforms_isUsed = 0u;
+}
+
+void init_iso2AuthorizationResType(struct iso2AuthorizationResType* iso2AuthorizationResType) {
+	iso2AuthorizationResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2MV_EVSEFinePositioningSetupParametersType(struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) {
+	iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 0u;
+	iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 0u;
+}
+
+void init_iso2X509DataType(struct iso2X509DataType* iso2X509DataType) {
+	iso2X509DataType->X509IssuerSerial.arrayLen = 0u;
+	iso2X509DataType->X509SKI.arrayLen = 0u;
+	iso2X509DataType->X509SubjectName.arrayLen = 0u;
+	iso2X509DataType->X509Certificate.arrayLen = 0u;
+	iso2X509DataType->X509CRL.arrayLen = 0u;
+	iso2X509DataType->ANY_isUsed = 0u;
+}
+
+void init_iso2RSAKeyValueType(struct iso2RSAKeyValueType* iso2RSAKeyValueType) {
+	(void)iso2RSAKeyValueType; /* avoid unused warning */
+}
+
+void init_iso2DC_BidirectionalControlResType(struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) {
+	iso2DC_BidirectionalControlResType->EVSEStatus_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 0u;
+	iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u;
+}
+
+void init_iso2CostType(struct iso2CostType* iso2CostType) {
+	(void)iso2CostType; /* avoid unused warning */
+}
+
+void init_iso2ChargingStatusResType(struct iso2ChargingStatusResType* iso2ChargingStatusResType) {
+	iso2ChargingStatusResType->EVSEStatus_isUsed = 0u;
+	iso2ChargingStatusResType->SAScheduleTupleID_isUsed = 0u;
+	iso2ChargingStatusResType->MeterInfo_isUsed = 0u;
+	iso2ChargingStatusResType->ReceiptRequired_isUsed = 0u;
+	iso2ChargingStatusResType->EVSETargetPower_isUsed = 0u;
+}
+
+void init_iso2MeterInfoType(struct iso2MeterInfoType* iso2MeterInfoType) {
+	iso2MeterInfoType->MeterReadingCharged_isUsed = 0u;
+	iso2MeterInfoType->MeterReadingDischarged_isUsed = 0u;
+	iso2MeterInfoType->SigMeterReading_isUsed = 0u;
+	iso2MeterInfoType->MeterStatus_isUsed = 0u;
+	iso2MeterInfoType->TMeter_isUsed = 0u;
+}
+
+void init_iso2AC_EVChargeParameterType(struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) {
+	iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u;
+	iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u;
+}
+
+void init_iso2AC_EVSEBidirectionalParameterType(struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) {
+	(void)iso2AC_EVSEBidirectionalParameterType; /* avoid unused warning */
+}
+
+void init_iso2VehicleCheckOutResType(struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) {
+	iso2VehicleCheckOutResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2MagneticVectorListType(struct iso2MagneticVectorListType* iso2MagneticVectorListType) {
+	iso2MagneticVectorListType->MagneticVector.arrayLen = 0u;
+}
+
+void init_iso2CableCheckResType(struct iso2CableCheckResType* iso2CableCheckResType) {
+	iso2CableCheckResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2ServiceDiscoveryReqType(struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) {
+	iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 0u;
+}
+
+void init_iso2ServiceType(struct iso2ServiceType* iso2ServiceType) {
+	(void)iso2ServiceType; /* avoid unused warning */
+}
+
+void init_iso2ServiceParameterListType(struct iso2ServiceParameterListType* iso2ServiceParameterListType) {
+	iso2ServiceParameterListType->ParameterSet.arrayLen = 0u;
+}
+
+void init_iso2PMaxScheduleType(struct iso2PMaxScheduleType* iso2PMaxScheduleType) {
+	iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u;
+}
+
+void init_iso2SignaturePropertiesType(struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) {
+	iso2SignaturePropertiesType->Id_isUsed = 0u;
+	iso2SignaturePropertiesType->SignatureProperty.arrayLen = 0u;
+}
+
+void init_iso2PMaxScheduleEntryType(struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) {
+	iso2PMaxScheduleEntryType->PMax.arrayLen = 0u;
+}
+
+void init_iso2SignatureType(struct iso2SignatureType* iso2SignatureType) {
+	iso2SignatureType->Id_isUsed = 0u;
+	iso2SignatureType->KeyInfo_isUsed = 0u;
+	iso2SignatureType->Object.arrayLen = 0u;
+}
+
+void init_iso2VehicleCheckInReqType(struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) {
+	iso2VehicleCheckInReqType->ParkingMethod_isUsed = 0u;
+}
+
+void init_iso2ConnectChargingDeviceResType(struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) {
+	iso2ConnectChargingDeviceResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2WeldingDetectionResType(struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) {
+	iso2WeldingDetectionResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2SessionStopResType(struct iso2SessionStopResType* iso2SessionStopResType) {
+	iso2SessionStopResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2VehicleCheckInResType(struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) {
+	iso2VehicleCheckInResType->EVSEStatus_isUsed = 0u;
+	iso2VehicleCheckInResType->TargetOffset_isUsed = 0u;
+}
+
+void init_iso2ServiceListType(struct iso2ServiceListType* iso2ServiceListType) {
+	iso2ServiceListType->Service.arrayLen = 0u;
+}
+
+void init_iso2CertificateUpdateResType(struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) {
+	iso2CertificateUpdateResType->EVSEStatus_isUsed = 0u;
+	iso2CertificateUpdateResType->RetryCounter_isUsed = 0u;
+}
+
+void init_iso2FinePositioningSetupResType(struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) {
+	iso2FinePositioningSetupResType->EVSEStatus_isUsed = 0u;
+	iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 0u;
+	iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u;
+	iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 0u;
+}
+
+void init_iso2AC_EVBidirectionalParameterType(struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) {
+	iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u;
+	iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u;
+}
+
+void init_iso2DC_BidirectionalControlReqType(struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) {
+	iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u;
+	iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u;
+	iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 0u;
+	iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u;
+}
+
+void init_iso2CertificateUpdateReqType(struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) {
+	(void)iso2CertificateUpdateReqType; /* avoid unused warning */
+}
+
+void init_iso2ConsumptionCostType(struct iso2ConsumptionCostType* iso2ConsumptionCostType) {
+	iso2ConsumptionCostType->Cost.arrayLen = 0u;
+}
+
+void init_iso2SAScheduleListType(struct iso2SAScheduleListType* iso2SAScheduleListType) {
+	iso2SAScheduleListType->SAScheduleTuple.arrayLen = 0u;
+}
+
+void init_iso2MagneticVectorSetupType(struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) {
+	(void)iso2MagneticVectorSetupType; /* avoid unused warning */
+}
+
+void init_iso2LFA_EVSEFinePositioningSetupParametersType(struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) {
+	(void)iso2LFA_EVSEFinePositioningSetupParametersType; /* avoid unused warning */
+}
+
+void init_iso2PaymentOptionListType(struct iso2PaymentOptionListType* iso2PaymentOptionListType) {
+	iso2PaymentOptionListType->PaymentOption.arrayLen = 0u;
+}
+
+void init_iso2LFA_EVSEFinePositioningParametersType(struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) {
+	(void)iso2LFA_EVSEFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2RelativeTimeIntervalType(struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) {
+	iso2RelativeTimeIntervalType->duration_isUsed = 0u;
+}
+
+void init_iso2EVFinePositioningParametersType(struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) {
+	(void)iso2EVFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2AlignmentCheckReqType(struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) {
+	iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed = 0u;
+}
+
+void init_iso2CertificateInstallationReqType(struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) {
+	(void)iso2CertificateInstallationReqType; /* avoid unused warning */
+}
+
+void init_iso2TransformsType(struct iso2TransformsType* iso2TransformsType) {
+	iso2TransformsType->Transform.arrayLen = 0u;
+}
+
+void init_iso2ObjectType(struct iso2ObjectType* iso2ObjectType) {
+	iso2ObjectType->Id_isUsed = 0u;
+	iso2ObjectType->MimeType_isUsed = 0u;
+	iso2ObjectType->Encoding_isUsed = 0u;
+	iso2ObjectType->ANY_isUsed = 0u;
+}
+
+void init_iso2SensorOrderListType(struct iso2SensorOrderListType* iso2SensorOrderListType) {
+	iso2SensorOrderListType->SensorPosition.arrayLen = 0u;
+}
+
+void init_iso2ChargeParameterDiscoveryReqType(struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) {
+	iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 0u;
+}
+
+void init_iso2ParameterType(struct iso2ParameterType* iso2ParameterType) {
+	iso2ParameterType->boolValue_isUsed = 0u;
+	iso2ParameterType->byteValue_isUsed = 0u;
+	iso2ParameterType->shortValue_isUsed = 0u;
+	iso2ParameterType->intValue_isUsed = 0u;
+	iso2ParameterType->physicalValue_isUsed = 0u;
+	iso2ParameterType->stringValue_isUsed = 0u;
+}
+
+void init_iso2SessionStopReqType(struct iso2SessionStopReqType* iso2SessionStopReqType) {
+	(void)iso2SessionStopReqType; /* avoid unused warning */
+}
+
+void init_iso2SensorMeasurementsType(struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) {
+	(void)iso2SensorMeasurementsType; /* avoid unused warning */
+}
+
+void init_iso2DC_EVSEChargeParameterType(struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) {
+	iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
+	iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
+}
+
+void init_iso2SensorPackageListType(struct iso2SensorPackageListType* iso2SensorPackageListType) {
+	iso2SensorPackageListType->SensorPackage.arrayLen = 0u;
+}
+
+void init_iso2MeasurementDataListType(struct iso2MeasurementDataListType* iso2MeasurementDataListType) {
+	iso2MeasurementDataListType->MeasurementData.arrayLen = 0u;
+}
+
+void init_iso2CertificateChainType(struct iso2CertificateChainType* iso2CertificateChainType) {
+	iso2CertificateChainType->Id_isUsed = 0u;
+	iso2CertificateChainType->SubCertificates_isUsed = 0u;
+}
+
+void init_iso2SignaturePropertyType(struct iso2SignaturePropertyType* iso2SignaturePropertyType) {
+	iso2SignaturePropertyType->Id_isUsed = 0u;
+	iso2SignaturePropertyType->ANY_isUsed = 0u;
+}
+
+void init_iso2TransformType(struct iso2TransformType* iso2TransformType) {
+	iso2TransformType->ANY_isUsed = 0u;
+	iso2TransformType->XPath.arrayLen = 0u;
+}
+
+void init_iso2EMAIDType(struct iso2EMAIDType* iso2EMAIDType) {
+	(void)iso2EMAIDType; /* avoid unused warning */
+}
+
+void init_iso2DSAKeyValueType(struct iso2DSAKeyValueType* iso2DSAKeyValueType) {
+	iso2DSAKeyValueType->P_isUsed = 0u;
+	iso2DSAKeyValueType->Q_isUsed = 0u;
+	iso2DSAKeyValueType->G_isUsed = 0u;
+	iso2DSAKeyValueType->J_isUsed = 0u;
+	iso2DSAKeyValueType->Seed_isUsed = 0u;
+	iso2DSAKeyValueType->PgenCounter_isUsed = 0u;
+}
+
+void init_iso2EntryType(struct iso2EntryType* iso2EntryType) {
+	(void)iso2EntryType; /* avoid unused warning */
+}
+
+void init_iso2MessageHeaderType(struct iso2MessageHeaderType* iso2MessageHeaderType) {
+	iso2MessageHeaderType->Signature_isUsed = 0u;
+}
+
+void init_iso2WPT_EVChargeParameterType(struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) {
+	iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u;
+	iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u;
+}
+
+void init_iso2DisconnectChargingDeviceReqType(struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) {
+	(void)iso2DisconnectChargingDeviceReqType; /* avoid unused warning */
+}
+
+void init_iso2ChargeLoopReqType(struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) {
+	iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2ChargeLoopReqType->DisplayParameters_isUsed = 0u;
+}
+
+void init_iso2V2GRequestType(struct iso2V2GRequestType* iso2V2GRequestType) {
+	(void)iso2V2GRequestType; /* avoid unused warning */
+}
+
+void init_iso2MeteringReceiptResType(struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) {
+	iso2MeteringReceiptResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2SessionSetupResType(struct iso2SessionSetupResType* iso2SessionSetupResType) {
+	iso2SessionSetupResType->EVSEStatus_isUsed = 0u;
+	iso2SessionSetupResType->EVSETimeStamp_isUsed = 0u;
+}
+
+void init_iso2AC_BidirectionalControlReqType(struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) {
+	iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u;
+	iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 0u;
+	iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u;
+	iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u;
+	iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 0u;
+}
+
+void init_iso2MV_EVSEFinePositioningParametersType(struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) {
+	(void)iso2MV_EVSEFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2ReferenceType(struct iso2ReferenceType* iso2ReferenceType) {
+	iso2ReferenceType->Id_isUsed = 0u;
+	iso2ReferenceType->URI_isUsed = 0u;
+	iso2ReferenceType->Type_isUsed = 0u;
+	iso2ReferenceType->Transforms_isUsed = 0u;
+}
+
+void init_iso2EVSEEnergyTransferParameterType(struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) {
+	(void)iso2EVSEEnergyTransferParameterType; /* avoid unused warning */
+}
+
+void init_iso2MeteringReceiptReqType(struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) {
+	iso2MeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
+}
+
+void init_iso2KeyValueType(struct iso2KeyValueType* iso2KeyValueType) {
+	iso2KeyValueType->DSAKeyValue_isUsed = 0u;
+	iso2KeyValueType->RSAKeyValue_isUsed = 0u;
+	iso2KeyValueType->ANY_isUsed = 0u;
+}
+
+void init_iso2SensorListType(struct iso2SensorListType* iso2SensorListType) {
+	iso2SensorListType->Sensor.arrayLen = 0u;
+}
+
+void init_iso2CurrentDemandReqType(struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) {
+	iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2CurrentDemandReqType->DisplayParameters_isUsed = 0u;
+	iso2CurrentDemandReqType->EVMaximumCurrent_isUsed = 0u;
+	iso2CurrentDemandReqType->EVMaximumPower_isUsed = 0u;
+	iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 0u;
+}
+
+void init_iso2FinePositioningSetupReqType(struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) {
+	iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 0u;
+	iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 0u;
+}
+
+void init_iso2LFA_EVFinePositioningSetupParametersType(struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) {
+	(void)iso2LFA_EVFinePositioningSetupParametersType; /* avoid unused warning */
+}
+
+void init_iso2SAScheduleTupleType(struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) {
+	iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed = 0u;
+	iso2SAScheduleTupleType->SalesTariff_isUsed = 0u;
+	iso2SAScheduleTupleType->BuyBackTariff_isUsed = 0u;
+}
+
+void init_iso2WPT_EVSEChargeParameterType(struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) {
+	(void)iso2WPT_EVSEChargeParameterType; /* avoid unused warning */
+}
+
+void init_iso2FinePositioningResType(struct iso2FinePositioningResType* iso2FinePositioningResType) {
+	iso2FinePositioningResType->EVSEStatus_isUsed = 0u;
+	iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed = 0u;
+	iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 0u;
+	iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed = 0u;
+	iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 0u;
+}
+
+void init_iso2BodyBaseType(struct iso2BodyBaseType* iso2BodyBaseType) {
+	(void)iso2BodyBaseType; /* avoid unused warning */
+}
+
+void init_iso2ServiceDetailResType(struct iso2ServiceDetailResType* iso2ServiceDetailResType) {
+	iso2ServiceDetailResType->EVSEStatus_isUsed = 0u;
+	iso2ServiceDetailResType->ServiceParameterList_isUsed = 0u;
+}
+
+void init_iso2PowerDeliveryReqType(struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) {
+	iso2PowerDeliveryReqType->EVOperation_isUsed = 0u;
+	iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 0u;
+	iso2PowerDeliveryReqType->ChargingProfile_isUsed = 0u;
+}
+
+void init_iso2PairingResType(struct iso2PairingResType* iso2PairingResType) {
+	iso2PairingResType->EVSEStatus_isUsed = 0u;
+	iso2PairingResType->PairingParameters_isUsed = 0u;
+}
+
+void init_iso2AuthorizationReqType(struct iso2AuthorizationReqType* iso2AuthorizationReqType) {
+	iso2AuthorizationReqType->Id_isUsed = 0u;
+	iso2AuthorizationReqType->GenChallenge_isUsed = 0u;
+}
+
+void init_iso2ParameterSetType(struct iso2ParameterSetType* iso2ParameterSetType) {
+	iso2ParameterSetType->Parameter.arrayLen = 0u;
+}
+
+void init_iso2SPKIDataType(struct iso2SPKIDataType* iso2SPKIDataType) {
+	iso2SPKIDataType->SPKISexp.arrayLen = 0u;
+	iso2SPKIDataType->ANY_isUsed = 0u;
+}
+
+void init_iso2PaymentDetailsResType(struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) {
+	iso2PaymentDetailsResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2SignatureMethodType(struct iso2SignatureMethodType* iso2SignatureMethodType) {
+	iso2SignatureMethodType->HMACOutputLength_isUsed = 0u;
+	iso2SignatureMethodType->ANY_isUsed = 0u;
+}
+
+void init_iso2AC_BidirectionalControlResType(struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) {
+	iso2AC_BidirectionalControlResType->EVSEStatus_isUsed = 0u;
+	iso2AC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u;
+	iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 0u;
+	iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u;
+}
+
+void init_iso2VehicleCheckOutReqType(struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) {
+	(void)iso2VehicleCheckOutReqType; /* avoid unused warning */
+}
+
+void init_iso2WeldingDetectionReqType(struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) {
+	(void)iso2WeldingDetectionReqType; /* avoid unused warning */
+}
+
+void init_iso2AlignmentCheckResType(struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) {
+	iso2AlignmentCheckResType->EVSEStatus_isUsed = 0u;
+	iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed = 0u;
+}
+
+void init_iso2PowerDemandReqType(struct iso2PowerDemandReqType* iso2PowerDemandReqType) {
+	iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2PowerDemandReqType->DisplayParameters_isUsed = 0u;
+	iso2PowerDemandReqType->PowerDemandParameters_isUsed = 0u;
+}
+
+void init_iso2MinimumPMaxRequestType(struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) {
+	iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen = 0u;
+}
+
+void init_iso2DisconnectChargingDeviceResType(struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) {
+	iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2SessionSetupReqType(struct iso2SessionSetupReqType* iso2SessionSetupReqType) {
+	(void)iso2SessionSetupReqType; /* avoid unused warning */
+}
+
+void init_iso2PaymentDetailsReqType(struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) {
+	(void)iso2PaymentDetailsReqType; /* avoid unused warning */
+}
+
+void init_iso2Generic_EVFinePositioningParametersType(struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) {
+	(void)iso2Generic_EVFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2ConnectChargingDeviceReqType(struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) {
+	(void)iso2ConnectChargingDeviceReqType; /* avoid unused warning */
+}
+
+void init_iso2AC_EVSEChargeParameterType(struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) {
+	(void)iso2AC_EVSEChargeParameterType; /* avoid unused warning */
+}
+
+void init_iso2SalesTariffEntryType(struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) {
+	iso2SalesTariffEntryType->EPriceLevel_isUsed = 0u;
+	iso2SalesTariffEntryType->ConsumptionCost.arrayLen = 0u;
+}
+
+void init_iso2DC_EVSEBidirectionalParameterType(struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) {
+	iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
+	iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
+}
+
+void init_iso2CanonicalizationMethodType(struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) {
+	iso2CanonicalizationMethodType->ANY_isUsed = 0u;
+}
+
+void init_iso2DisplayParametersType(struct iso2DisplayParametersType* iso2DisplayParametersType) {
+	iso2DisplayParametersType->CurrentRange_isUsed = 0u;
+	iso2DisplayParametersType->CurrentSOC_isUsed = 0u;
+	iso2DisplayParametersType->TargetSOC_isUsed = 0u;
+	iso2DisplayParametersType->BulkSOC_isUsed = 0u;
+	iso2DisplayParametersType->MinimumSOC_isUsed = 0u;
+	iso2DisplayParametersType->ChargingPerformance_isUsed = 0u;
+	iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 0u;
+	iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 0u;
+	iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 0u;
+	iso2DisplayParametersType->ChargingComplete_isUsed = 0u;
+	iso2DisplayParametersType->BulkChargingComplete_isUsed = 0u;
+	iso2DisplayParametersType->InletHot_isUsed = 0u;
+}
+
+void init_iso2DC_EVBidirectionalParameterType(struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) {
+	iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 0u;
+	iso2DC_EVBidirectionalParameterType->MinimumSOC_isUsed = 0u;
+}
+
+void init_iso2PaymentServiceSelectionReqType(struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) {
+	iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed = 0u;
+}
+
+void init_iso2MagneticVectorType(struct iso2MagneticVectorType* iso2MagneticVectorType) {
+	(void)iso2MagneticVectorType; /* avoid unused warning */
+}
+
+void init_iso2PhysicalValueType(struct iso2PhysicalValueType* iso2PhysicalValueType) {
+	(void)iso2PhysicalValueType; /* avoid unused warning */
+}
+
+void init_iso2SystemStatusReqType(struct iso2SystemStatusReqType* iso2SystemStatusReqType) {
+	(void)iso2SystemStatusReqType; /* avoid unused warning */
+}
+
+void init_iso2SystemStatusResType(struct iso2SystemStatusResType* iso2SystemStatusResType) {
+	iso2SystemStatusResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2EVSEFinePositioningSetupParametersType(struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) {
+	(void)iso2EVSEFinePositioningSetupParametersType; /* avoid unused warning */
+}
+
+void init_iso2V2GResponseType(struct iso2V2GResponseType* iso2V2GResponseType) {
+	iso2V2GResponseType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2BodyType(struct iso2BodyType* iso2BodyType) {
+	iso2BodyType->BodyElement_isUsed = 0u;
+	iso2BodyType->V2GRequest_isUsed = 0u;
+	iso2BodyType->DisconnectChargingDeviceReq_isUsed = 0u;
+	iso2BodyType->ConnectChargingDeviceReq_isUsed = 0u;
+	iso2BodyType->SystemStatusReq_isUsed = 0u;
+	iso2BodyType->DC_BidirectionalControlReq_isUsed = 0u;
+	iso2BodyType->AC_BidirectionalControlReq_isUsed = 0u;
+	iso2BodyType->VehicleCheckOutReq_isUsed = 0u;
+	iso2BodyType->VehicleCheckInReq_isUsed = 0u;
+	iso2BodyType->PowerDemandReq_isUsed = 0u;
+	iso2BodyType->PairingReq_isUsed = 0u;
+	iso2BodyType->AlignmentCheckReq_isUsed = 0u;
+	iso2BodyType->FinePositioningReq_isUsed = 0u;
+	iso2BodyType->FinePositioningSetupReq_isUsed = 0u;
+	iso2BodyType->WeldingDetectionReq_isUsed = 0u;
+	iso2BodyType->CurrentDemandReq_isUsed = 0u;
+	iso2BodyType->PreChargeReq_isUsed = 0u;
+	iso2BodyType->CableCheckReq_isUsed = 0u;
+	iso2BodyType->ChargingStatusReq_isUsed = 0u;
+	iso2BodyType->CertificateInstallationReq_isUsed = 0u;
+	iso2BodyType->CertificateUpdateReq_isUsed = 0u;
+	iso2BodyType->SessionStopReq_isUsed = 0u;
+	iso2BodyType->MeteringReceiptReq_isUsed = 0u;
+	iso2BodyType->PowerDeliveryReq_isUsed = 0u;
+	iso2BodyType->ChargeParameterDiscoveryReq_isUsed = 0u;
+	iso2BodyType->AuthorizationReq_isUsed = 0u;
+	iso2BodyType->PaymentDetailsReq_isUsed = 0u;
+	iso2BodyType->PaymentServiceSelectionReq_isUsed = 0u;
+	iso2BodyType->ServiceDetailReq_isUsed = 0u;
+	iso2BodyType->ServiceDiscoveryReq_isUsed = 0u;
+	iso2BodyType->SessionSetupReq_isUsed = 0u;
+	iso2BodyType->V2GResponse_isUsed = 0u;
+	iso2BodyType->DisconnectChargingDeviceRes_isUsed = 0u;
+	iso2BodyType->ConnectChargingDeviceRes_isUsed = 0u;
+	iso2BodyType->SystemStatusRes_isUsed = 0u;
+	iso2BodyType->DC_BidirectionalControlRes_isUsed = 0u;
+	iso2BodyType->AC_BidirectionalControlRes_isUsed = 0u;
+	iso2BodyType->VehicleCheckOutRes_isUsed = 0u;
+	iso2BodyType->VehicleCheckInRes_isUsed = 0u;
+	iso2BodyType->PowerDemandRes_isUsed = 0u;
+	iso2BodyType->PairingRes_isUsed = 0u;
+	iso2BodyType->AlignmentCheckRes_isUsed = 0u;
+	iso2BodyType->FinePositioningRes_isUsed = 0u;
+	iso2BodyType->FinePositioningSetupRes_isUsed = 0u;
+	iso2BodyType->WeldingDetectionRes_isUsed = 0u;
+	iso2BodyType->CurrentDemandRes_isUsed = 0u;
+	iso2BodyType->PreChargeRes_isUsed = 0u;
+	iso2BodyType->CableCheckRes_isUsed = 0u;
+	iso2BodyType->ChargingStatusRes_isUsed = 0u;
+	iso2BodyType->CertificateInstallationRes_isUsed = 0u;
+	iso2BodyType->CertificateUpdateRes_isUsed = 0u;
+	iso2BodyType->SessionStopRes_isUsed = 0u;
+	iso2BodyType->MeteringReceiptRes_isUsed = 0u;
+	iso2BodyType->PowerDeliveryRes_isUsed = 0u;
+	iso2BodyType->ChargeParameterDiscoveryRes_isUsed = 0u;
+	iso2BodyType->AuthorizationRes_isUsed = 0u;
+	iso2BodyType->PaymentDetailsRes_isUsed = 0u;
+	iso2BodyType->PaymentServiceSelectionRes_isUsed = 0u;
+	iso2BodyType->ServiceDetailRes_isUsed = 0u;
+	iso2BodyType->ServiceDiscoveryRes_isUsed = 0u;
+	iso2BodyType->SessionSetupRes_isUsed = 0u;
+}
+
+void init_iso2PreChargeResType(struct iso2PreChargeResType* iso2PreChargeResType) {
+	iso2PreChargeResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2EVSEFinePositioningParametersType(struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) {
+	(void)iso2EVSEFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2PaymentServiceSelectionResType(struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) {
+	iso2PaymentServiceSelectionResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2DigestMethodType(struct iso2DigestMethodType* iso2DigestMethodType) {
+	iso2DigestMethodType->ANY_isUsed = 0u;
+}
+
+void init_iso2TargetPositionType(struct iso2TargetPositionType* iso2TargetPositionType) {
+	(void)iso2TargetPositionType; /* avoid unused warning */
+}
+
+void init_iso2LFA_EVFinePositioningParametersType(struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) {
+	(void)iso2LFA_EVFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2DC_EVChargeParameterType(struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) {
+	iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed = 0u;
+	iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 0u;
+	iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u;
+	iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 0u;
+	iso2DC_EVChargeParameterType->TargetSOC_isUsed = 0u;
+	iso2DC_EVChargeParameterType->BulkSOC_isUsed = 0u;
+}
+
+void init_iso2ServiceDetailReqType(struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) {
+	(void)iso2ServiceDetailReqType; /* avoid unused warning */
+}
+
+void init_iso2PreChargeReqType(struct iso2PreChargeReqType* iso2PreChargeReqType) {
+	(void)iso2PreChargeReqType; /* avoid unused warning */
+}
+
+void init_iso2ManifestType(struct iso2ManifestType* iso2ManifestType) {
+	iso2ManifestType->Id_isUsed = 0u;
+	iso2ManifestType->Reference.arrayLen = 0u;
+}
+
+void init_iso2AnonType_V2G_Message(struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) {
+	(void)iso2AnonType_V2G_Message; /* avoid unused warning */
+}
+
+void init_iso2SelectedServiceListType(struct iso2SelectedServiceListType* iso2SelectedServiceListType) {
+	iso2SelectedServiceListType->SelectedService.arrayLen = 0u;
+}
+
+void init_iso2Generic_EVSEFinePositioningParametersType(struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) {
+	(void)iso2Generic_EVSEFinePositioningParametersType; /* avoid unused warning */
+}
+
+void init_iso2CartesianCoordinatesType(struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) {
+	(void)iso2CartesianCoordinatesType; /* avoid unused warning */
+}
+
+void init_iso2KeyInfoType(struct iso2KeyInfoType* iso2KeyInfoType) {
+	iso2KeyInfoType->Id_isUsed = 0u;
+	iso2KeyInfoType->KeyName.arrayLen = 0u;
+	iso2KeyInfoType->KeyValue.arrayLen = 0u;
+	iso2KeyInfoType->RetrievalMethod.arrayLen = 0u;
+	iso2KeyInfoType->X509Data.arrayLen = 0u;
+	iso2KeyInfoType->PGPData.arrayLen = 0u;
+	iso2KeyInfoType->SPKIData.arrayLen = 0u;
+	iso2KeyInfoType->MgmtData.arrayLen = 0u;
+	iso2KeyInfoType->ANY_isUsed = 0u;
+}
+
+void init_iso2SubCertificatesType(struct iso2SubCertificatesType* iso2SubCertificatesType) {
+	iso2SubCertificatesType->Certificate.arrayLen = 0u;
+}
+
+void init_iso2ListOfRootCertificateIDsType(struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) {
+	iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
+}
+
+void init_iso2EVEnergyTransferParameterType(struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) {
+	(void)iso2EVEnergyTransferParameterType; /* avoid unused warning */
+}
+
+void init_iso2ContractSignatureEncryptedPrivateKeyType(struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) {
+	(void)iso2ContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */
+}
+
+void init_iso2MagneticVectorSetupListType(struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) {
+	iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen = 0u;
+}
+
+void init_iso2PairingReqType(struct iso2PairingReqType* iso2PairingReqType) {
+	iso2PairingReqType->PairingParameters_isUsed = 0u;
+}
+
+void init_iso2CurrentDemandResType(struct iso2CurrentDemandResType* iso2CurrentDemandResType) {
+	iso2CurrentDemandResType->EVSEStatus_isUsed = 0u;
+	iso2CurrentDemandResType->EVSEMaximumPower_isUsed = 0u;
+	iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 0u;
+	iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 0u;
+	iso2CurrentDemandResType->SAScheduleTupleID_isUsed = 0u;
+	iso2CurrentDemandResType->MeterInfo_isUsed = 0u;
+	iso2CurrentDemandResType->ReceiptRequired_isUsed = 0u;
+}
+
+void init_iso2X509IssuerSerialType(struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) {
+	(void)iso2X509IssuerSerialType; /* avoid unused warning */
+}
+
+void init_iso2ChargingStatusReqType(struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) {
+	iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 0u;
+	iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 0u;
+	iso2ChargingStatusReqType->DisplayParameters_isUsed = 0u;
+	iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 0u;
+	iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 0u;
+	iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 0u;
+}
+
+void init_iso2CertificateInstallationResType(struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) {
+	iso2CertificateInstallationResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2SensorPackageType(struct iso2SensorPackageType* iso2SensorPackageType) {
+	iso2SensorPackageType->SensorMeasurements.arrayLen = 0u;
+}
+
+void init_iso2PGPDataType(struct iso2PGPDataType* iso2PGPDataType) {
+	iso2PGPDataType->PGPKeyID_isUsed = 0u;
+	iso2PGPDataType->PGPKeyPacket_isUsed = 0u;
+	iso2PGPDataType->ANY_isUsed = 0u;
+}
+
+void init_iso2ServiceDiscoveryResType(struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) {
+	iso2ServiceDiscoveryResType->EVSEStatus_isUsed = 0u;
+	iso2ServiceDiscoveryResType->VASList_isUsed = 0u;
+}
+
+void init_iso2ServiceIDListType(struct iso2ServiceIDListType* iso2ServiceIDListType) {
+	iso2ServiceIDListType->ServiceID.arrayLen = 0u;
+}
+
+void init_iso2EVFinePositioningSetupParametersType(struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) {
+	(void)iso2EVFinePositioningSetupParametersType; /* avoid unused warning */
+}
+
+void init_iso2ChargeParameterDiscoveryResType(struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) {
+	iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 0u;
+	iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 0u;
+}
+
+void init_iso2PowerDemandResType(struct iso2PowerDemandResType* iso2PowerDemandResType) {
+	iso2PowerDemandResType->EVSEStatus_isUsed = 0u;
+	iso2PowerDemandResType->SAScheduleTupleID_isUsed = 0u;
+	iso2PowerDemandResType->MeterInfo_isUsed = 0u;
+	iso2PowerDemandResType->ReceiptRequired_isUsed = 0u;
+	iso2PowerDemandResType->PowerDemandParameters_isUsed = 0u;
+}
+
+void init_iso2ChargingProfileType(struct iso2ChargingProfileType* iso2ChargingProfileType) {
+	iso2ChargingProfileType->ProfileEntry.arrayLen = 0u;
+}
+
+void init_iso2FinePositioningReqType(struct iso2FinePositioningReqType* iso2FinePositioningReqType) {
+	iso2FinePositioningReqType->EVFinePositioningParameters_isUsed = 0u;
+	iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 0u;
+	iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 0u;
+}
+
+void init_iso2SalesTariffType(struct iso2SalesTariffType* iso2SalesTariffType) {
+	iso2SalesTariffType->SalesTariffDescription_isUsed = 0u;
+	iso2SalesTariffType->NumEPriceLevels_isUsed = 0u;
+	iso2SalesTariffType->SalesTariffEntry.arrayLen = 0u;
+}
+
+void init_iso2SensorType(struct iso2SensorType* iso2SensorType) {
+	(void)iso2SensorType; /* avoid unused warning */
+}
+
+void init_iso2SignatureValueType(struct iso2SignatureValueType* iso2SignatureValueType) {
+	iso2SignatureValueType->Id_isUsed = 0u;
+}
+
+void init_iso2SignedInfoType(struct iso2SignedInfoType* iso2SignedInfoType) {
+	iso2SignedInfoType->Id_isUsed = 0u;
+	iso2SignedInfoType->Reference.arrayLen = 0u;
+}
+
+void init_iso2PowerDeliveryResType(struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) {
+	iso2PowerDeliveryResType->EVSEStatus_isUsed = 0u;
+}
+
+void init_iso2CableCheckReqType(struct iso2CableCheckReqType* iso2CableCheckReqType) {
+	(void)iso2CableCheckReqType; /* avoid unused warning */
+}
+
+void init_iso2SelectedServiceType(struct iso2SelectedServiceType* iso2SelectedServiceType) {
+	(void)iso2SelectedServiceType; /* avoid unused warning */
+}
+
+void init_iso2DiffieHellmanPublickeyType(struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) {
+	(void)iso2DiffieHellmanPublickeyType; /* avoid unused warning */
+}
+
+void init_iso2EVSEStatusType(struct iso2EVSEStatusType* iso2EVSEStatusType) {
+	(void)iso2EVSEStatusType; /* avoid unused warning */
+}
+
+
+
+#endif /* DEPLOY_ISO2_CODEC */
+
+#endif
+

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1306 - 966
src/iso2/iso2EXIDatatypes.h


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 341 - 467
src/iso2/iso2EXIDatatypesDecoder.c


+ 64 - 0
src/iso2/iso2EXIDatatypesDecoder.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2007-2017 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*******************************************************************
+ *
+ * @author Daniel.Peintner.EXT@siemens.com
+ * @version 2017-03-23 
+ * @contact Joerg.Heuer@siemens.com
+ *
+ * <p>Code generated by EXIdizer</p>
+ * <p>Schema: V2G_CI_MsgDef.xsd</p>
+ *
+ *
+ ********************************************************************/
+
+
+
+/**
+ * \file 	EXIDatatypesDecoder.h
+ * \brief 	Decoder for datatype definitions
+ *
+ */
+
+#ifndef EXI_iso2_DATATYPES_DECODER_H
+#define EXI_iso2_DATATYPES_DECODER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
+
+#include <stdint.h>
+
+#include "EXITypes.h"
+#include "iso2EXIDatatypes.h"
+
+int decode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc);
+
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+int decode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag);
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
+
+#endif /* DEPLOY_ISO2_CODEC */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 425 - 423
src/iso2/iso2EXIDatatypesEncoder.c


+ 66 - 0
src/iso2/iso2EXIDatatypesEncoder.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2007-2017 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*******************************************************************
+ *
+ * @author Daniel.Peintner.EXT@siemens.com
+ * @version 2017-03-23 
+ * @contact Joerg.Heuer@siemens.com
+ *
+ * <p>Code generated by EXIdizer</p>
+ * <p>Schema: V2G_CI_MsgDef.xsd</p>
+ *
+ *
+ ********************************************************************/
+
+
+
+/**
+ * \file 	EXIDatatypesEncoder.h
+ * \brief 	Encoder for datatype definitions
+ *
+ */
+
+#ifndef EXI_iso2_DATATYPES_ENCODER_H
+#define EXI_iso2_DATATYPES_ENCODER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
+
+#include <stdint.h>
+
+#include "EXITypes.h"
+#include "iso2EXIDatatypes.h"
+
+
+int encode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc);
+
+#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES
+int encode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag);
+#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */
+
+
+#endif /* DEPLOY_ISO2_CODEC */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

+ 6 - 6
src/test/main_databinder.c

@@ -42,9 +42,9 @@
 #include <stdlib.h>
 
 /* schema-dependent */
-#include "v2gEXIDatatypes.h"
-#include "v2gEXIDatatypesEncoder.h"
-#include "v2gEXIDatatypesDecoder.h"
+#include "iso2EXIDatatypes.h"
+#include "iso2EXIDatatypesEncoder.h"
+#include "iso2EXIDatatypesDecoder.h"
 
 
 #include "ByteStream.h"
@@ -66,7 +66,7 @@ uint8_t bufferOut[BUFFER_SIZE];
 
 int main_databinder(int argc, char *argv[]) {
 
-	struct v2gEXIDocument exiDoc;
+	struct iso2EXIDocument exiDoc;
 	int errn = 0;
 
 	bitstream_t iStream, oStream;
@@ -112,7 +112,7 @@ int main_databinder(int argc, char *argv[]) {
 
 
 	printf("Start decoding EXI stream to databinding layer \n");
-	errn = decode_v2gExiDocument(&iStream, &exiDoc);
+	errn = decode_iso2ExiDocument(&iStream, &exiDoc);
 	if (errn != 0) {
 		printf("Problems while decoding EXI stream, err==%d\n", errn);
 		return errn;
@@ -130,7 +130,7 @@ int main_databinder(int argc, char *argv[]) {
 	oStream.capacity = 8;
 
 	printf("Start encoding databinding layer to EXI \n");
-	errn = encode_v2gExiDocument(&oStream, &exiDoc);
+	errn = encode_iso2ExiDocument(&oStream, &exiDoc);
 	if (errn != 0) {
 		printf("Problems while encoding databinding layer, err==%d\n", errn);
 		return errn;

+ 121 - 120
src/test/main_example.c

@@ -53,11 +53,12 @@
 #include "xmldsigEXIDatatypesDecoder.h"
 #endif /* DEPLOY_XMLDSIG_CODEC == SUPPORT_YES */
 
-
-
-#include "v2gEXIDatatypes.h"
-#include "v2gEXIDatatypesEncoder.h"
-#include "v2gEXIDatatypesDecoder.h"
+/* Activate support for ISO2 */
+#include "iso2EXIDatatypes.h"
+#if DEPLOY_ISO2_CODEC == SUPPORT_YES
+#include "iso2EXIDatatypesEncoder.h"
+#include "iso2EXIDatatypesDecoder.h"
+#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */
 
 #include "v2gtp.h"
 
@@ -102,7 +103,7 @@ static void printASCIIString(exi_string_character_t* string, uint16_t len) {
 	printf("\n");
 }
 
-static void printEVSEStatus(struct v2gEVSEStatusType* status)
+static void printEVSEStatus(struct iso2EVSEStatusType* status)
 {
 	printf("\tEVSEStatus:\n");
 	printf("\t\tEVSENotification=%d\n", status->EVSENotification);
@@ -126,10 +127,10 @@ static void copyBytes(uint8_t* from, uint16_t len, uint8_t* to) {
 
 
 /* serializes EXI stream and adds V2G TP header */
-static int serializeEXI2Stream(struct v2gEXIDocument* exiIn, bitstream_t* stream) {
+static int serializeEXI2Stream(struct iso2EXIDocument* exiIn, bitstream_t* stream) {
 	int errn;
 	*stream->pos = V2GTP_HEADER_LENGTH;  /* v2gtp header */
-	if( (errn = encode_v2gExiDocument(stream, exiIn)) == 0) {
+	if( (errn = encode_iso2ExiDocument(stream, exiIn)) == 0) {
 		errn = write_v2gtpHeader(stream->data, (*stream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE);
 	}
 	return errn;
@@ -137,7 +138,7 @@ static int serializeEXI2Stream(struct v2gEXIDocument* exiIn, bitstream_t* stream
 
 
 /* deserializes V2G TP header and decodes right away EXI stream */
-static int deserializeStream2EXI(bitstream_t* streamIn, struct v2gEXIDocument* exi) {
+static int deserializeStream2EXI(bitstream_t* streamIn, struct iso2EXIDocument* exi) {
 	int errn;
 	uint16_t payloadLength;
 
@@ -145,7 +146,7 @@ static int deserializeStream2EXI(bitstream_t* streamIn, struct v2gEXIDocument* e
 	if ( (errn = read_v2gtpHeader(streamIn->data, &payloadLength)) == 0) {
 		*streamIn->pos += V2GTP_HEADER_LENGTH;
 
-		errn = decode_v2gExiDocument(streamIn, exi);
+		errn = decode_iso2ExiDocument(streamIn, exi);
 	}
 	return errn;
 }
@@ -286,7 +287,7 @@ static int appHandshake()
 }
 
 
-static int sessionSetup(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int sessionSetup(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 	printf("EVSE side: sessionSetup called\n"  );
 	printf("\tReceived data:\n");
 	printf("\tHeader SessionID=");
@@ -296,7 +297,7 @@ static int sessionSetup(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exi
 	exiOut->V2G_Message_isUsed = 1u;
 
 	/* generate an unique sessionID */
-	init_v2gMessageHeaderType(&exiOut->V2G_Message.Header);
+	init_iso2MessageHeaderType(&exiOut->V2G_Message.Header);
 	exiOut->V2G_Message.Header.SessionID.bytes[0] = 1;
 	exiOut->V2G_Message.Header.SessionID.bytes[1] = 2;
 	exiOut->V2G_Message.Header.SessionID.bytes[2] = 3;
@@ -308,12 +309,12 @@ static int sessionSetup(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exi
 	exiOut->V2G_Message.Header.SessionID.bytesLen = 8;
 
 	/* Prepare data for EV */
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u;
-	init_v2gSessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes);
+	init_iso2SessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes);
 
-	exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = iso2responseCodeType_OK;
 	exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0;
 	exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20;
 	exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2;
@@ -323,7 +324,7 @@ static int sessionSetup(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exi
 	return 0;
 }
 
-static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int serviceDiscovery(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 	int i;
 
 	printf("EVSE side: serviceDiscovery called\n"  );
@@ -338,17 +339,17 @@ static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.ServiceDiscoveryRes_isUsed = 1u;
-	init_v2gServiceDiscoveryResType(&exiOut->V2G_Message.Body.ServiceDiscoveryRes);
+	init_iso2ServiceDiscoveryResType(&exiOut->V2G_Message.Body.ServiceDiscoveryRes);
 
 
 	exiOut->V2G_Message.Body.ServiceDiscoveryRes.VASList_isUsed = 0u;  /* we do not provide VAS */
-	exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = iso2responseCodeType_OK;
 
-	exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = v2gpaymentOptionType_ExternalPayment; /* EVSE handles the payment */
-	exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = v2gpaymentOptionType_Contract;
+	exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = iso2paymentOptionType_ExternalPayment; /* EVSE handles the payment */
+	exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = iso2paymentOptionType_Contract;
 	exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.arrayLen = 2;
 
 	exiOut->V2G_Message.Body.ServiceDiscoveryRes.EnergyTransferServiceList.Service.arrayLen = 1;
@@ -361,7 +362,7 @@ static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
 }
 
 
-static int serviceDetail(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int serviceDetail(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: serviceDetail called\n"  );
 	printf("\tReceived data:\n");
@@ -372,10 +373,10 @@ static int serviceDetail(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.ServiceDetailRes_isUsed= 1u;
-	init_v2gServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes);
+	init_iso2ServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes);
 
 	exiOut->V2G_Message.Body.ServiceDetailRes.ServiceID = 1234;
 
@@ -426,13 +427,13 @@ static int serviceDetail(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
 	exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Exponent = 1;
 	exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 2;
 
-	exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso2responseCodeType_OK;
 
 	return 0;
 }
 
 
-static int paymentServiceSelection(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int paymentServiceSelection(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 	int i;
 
 	printf("EVSE side: paymentServiceSelection called\n"  );
@@ -440,7 +441,7 @@ static int paymentServiceSelection(struct v2gEXIDocument* exiIn, struct v2gEXIDo
 	printf("\tHeader SessionID=");
 	printBinaryArray(exiIn->V2G_Message.Header.SessionID.bytes, exiIn->V2G_Message.Header.SessionID.bytesLen);
 
-	if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption == v2gpaymentOptionType_ExternalPayment)  {
+	if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption == iso2paymentOptionType_ExternalPayment)  {
 		printf("\t\t SelectedPaymentOption=ExternalPayment\n");
 	}
 
@@ -454,18 +455,18 @@ static int paymentServiceSelection(struct v2gEXIDocument* exiIn, struct v2gEXIDo
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.PaymentServiceSelectionRes_isUsed= 1u;
-	init_v2gV2GResponseType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes);
+	init_iso2PaymentServiceSelectionResType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes);
 
-	exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso2responseCodeType_OK;
 
 	return 0;
 }
 
 
-static int paymentDetails(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int paymentDetails(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: paymentDetails called\n"  );
 	printf("\tReceived data:\n");
@@ -478,12 +479,12 @@ static int paymentDetails(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.PaymentDetailsRes_isUsed = 1u;
-	init_v2gPaymentDetailsResType(&exiOut->V2G_Message.Body.PaymentDetailsRes);
+	init_iso2PaymentDetailsResType(&exiOut->V2G_Message.Body.PaymentDetailsRes);
 
-	exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = iso2responseCodeType_OK;
 	exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytesLen = 1;
 	exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytes[0] = 1;
 	exiOut->V2G_Message.Body.PaymentDetailsRes.EVSETimeStamp = 123456;
@@ -492,7 +493,7 @@ static int paymentDetails(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e
 }
 
 
-static int authorization(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int authorization(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE: Authorization called\n"  );
 	printf("\tReceived data:\n");
@@ -507,19 +508,19 @@ static int authorization(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u;
-	init_v2gAuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes);
+	init_iso2AuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes);
 
-	exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = v2gresponseCodeType_OK;
-	exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = v2gEVSEProcessingType_Finished;
+	exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = iso2responseCodeType_OK;
+	exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = iso2EVSEProcessingType_Finished;
 
 	return 0;
 }
 
 
-static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int chargeParameterDiscovery(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: chargeParameterDiscovery called\n"  );
 	printf("\tReceived data:\n");
@@ -531,20 +532,20 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u;
-	init_v2gChargeParameterDiscoveryResType(&exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes);
+	init_iso2ChargeParameterDiscoveryResType(&exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes);
 
-	exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = v2gresponseCodeType_OK_CertificateExpiresSoon;
-	exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = v2gEVSEProcessingType_Ongoing;
+	exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = iso2responseCodeType_OK_CertificateExpiresSoon;
+	exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = iso2EVSEProcessingType_Ongoing;
 	exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter_isUsed = 1u;
 	/*exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter = 0;*/
 	return 0;
 }
 
 
-static int powerDelivery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int powerDelivery(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 	printf("EVSE side: powerDelivery called\n"  );
 	printf("\tReceived data:\n");
 
@@ -553,40 +554,40 @@ static int powerDelivery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.PowerDeliveryRes_isUsed = 1u;
-	init_v2gPowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes);
+	init_iso2PowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes);
 
-	exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = iso2responseCodeType_OK;
 
 	exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus_isUsed = 1;
-	exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = v2gEVSENotificationType_StopCharging;
+	exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_StopCharging;
 	exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.NotificationMaxDelay=12;
 
-	exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEProcessing = v2gEVSEProcessingType_Ongoing_WaitingForCustomerInteraction;
+	exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEProcessing = iso2EVSEProcessingType_Ongoing_WaitingForCustomerInteraction;
 
 	return 0;
 }
 
 
-static int chargingStatus(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int chargingStatus(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: chargingStatus called\n"  );
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u;
-	init_v2gChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes);
+	init_iso2ChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes);
 
 
-	exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = iso2responseCodeType_OK;
 	exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]= 'A';
 	exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1;
 
-	exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.EVSENotification = v2gEVSENotificationType_ReNegotiation;
+	exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_ReNegotiation;
 	exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.NotificationMaxDelay=123;
 	exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired = 1;
 	exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed = 1;
@@ -595,7 +596,7 @@ static int chargingStatus(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e
 }
 
 
-static int meteringReceipt(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int meteringReceipt(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: meteringReceipt called\n"  );
 	printf("\tReceived data:\n");
@@ -608,17 +609,17 @@ static int meteringReceipt(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u;
-	init_v2gV2GResponseType(&exiOut->V2G_Message.Body.MeteringReceiptRes);
+	init_iso2MeteringReceiptResType(&exiOut->V2G_Message.Body.MeteringReceiptRes);
 
-	exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = v2gresponseCodeType_FAILED;
+	exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = iso2responseCodeType_FAILED;
 
 	return 0;
 }
 
-static int sessionStop(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int sessionStop(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: sessionStop called\n"  );
 	printf("\tReceived data:\n");
@@ -628,38 +629,38 @@ static int sessionStop(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiO
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u;
-	init_v2gV2GResponseType(&exiOut->V2G_Message.Body.SessionStopRes);
+	init_iso2SessionStopResType(&exiOut->V2G_Message.Body.SessionStopRes);
 
-	exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = iso2responseCodeType_OK;
 
 	return 0;
 }
 
-static int cableCheck(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int cableCheck(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: cableCheck called\n"  );
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u;
-	init_v2gCableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes);
+	init_iso2CableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes);
 
-	exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = iso2responseCodeType_OK;
 
 	exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.NotificationMaxDelay = 1234;
-	exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.EVSENotification= v2gEVSENotificationType_ReNegotiation;
+	exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.EVSENotification= iso2EVSENotificationType_ReNegotiation;
 
-	exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = v2gEVSEProcessingType_Finished;
+	exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = iso2EVSEProcessingType_Finished;
 
 	return 0;
 }
 
-static int preCharge(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int preCharge(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 
 	printf("EVSE side: preCharge called\n"  );
 	printf("\tReceived data:\n");
@@ -669,14 +670,14 @@ static int preCharge(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut
 
 	/* Prepare data for EV */
 	exiOut->V2G_Message_isUsed = 1u;
-	init_v2gBodyType(&exiOut->V2G_Message.Body);
+	init_iso2BodyType(&exiOut->V2G_Message.Body);
 
 	exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u;
-	init_v2gPreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes);
+	init_iso2PreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes);
 
-	exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = v2gresponseCodeType_OK;
+	exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = iso2responseCodeType_OK;
 
-	exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.EVSENotification = v2gEVSENotificationType_StopCharging;
+	exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_StopCharging;
 	exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.NotificationMaxDelay= 1234;
 
 	exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Exponent = 3;
@@ -687,12 +688,12 @@ static int preCharge(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut
 
 
 
-static int create_response_message(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int create_response_message(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 	int errn = ERROR_UNEXPECTED_REQUEST_MESSAGE;
 
 	/* create response message as EXI document */
 	if(exiIn->V2G_Message_isUsed) {
-		init_v2gEXIDocument(exiOut);
+		init_iso2EXIDocument(exiOut);
 		if (exiIn->V2G_Message.Body.SessionSetupReq_isUsed) {
 			errn = sessionSetup(exiIn, exiOut);
 		} else if (exiIn->V2G_Message.Body.ServiceDiscoveryReq_isUsed) {
@@ -727,7 +728,7 @@ static int create_response_message(struct v2gEXIDocument* exiIn, struct v2gEXIDo
 
 /* Adapt this to your system setup! */
 /* In this situation EV and EVSE is the same party */
-static int request_response(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) {
+static int request_response(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) {
 	int errn;
 
 	bitstream_t stream1;
@@ -779,17 +780,17 @@ static int charging()
 	int errn = 0;
 	int i, j;
 
-	struct v2gEXIDocument exiIn;
-	struct v2gEXIDocument exiOut;
+	struct iso2EXIDocument exiIn;
+	struct iso2EXIDocument exiOut;
 
-	struct v2gServiceDetailResType serviceDetailRes;
-	struct v2gV2GResponseType paymentServiceSelectionRes;
-	struct v2gPaymentDetailsResType paymentDetailsRes;
+	struct iso2ServiceDetailResType serviceDetailRes;
+	struct iso2PaymentServiceSelectionResType paymentServiceSelectionRes;
+	struct iso2PaymentDetailsResType paymentDetailsRes;
 
 	/* setup header information */
-	init_v2gEXIDocument(&exiIn);
+	init_iso2EXIDocument(&exiIn);
 	exiIn.V2G_Message_isUsed = 1u;
-	init_v2gMessageHeaderType(&exiIn.V2G_Message.Header);
+	init_iso2MessageHeaderType(&exiIn.V2G_Message.Header);
 	exiIn.V2G_Message.Header.SessionID.bytes[0] = 0; /* sessionID is always '0' at the beginning (the response contains the valid sessionID)*/
 	exiIn.V2G_Message.Header.SessionID.bytes[1] = 0;
 	exiIn.V2G_Message.Header.SessionID.bytes[2] = 0;
@@ -805,10 +806,10 @@ static int charging()
 	/************************
 	 * sessionSetup *
 	 ************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.SessionSetupReq_isUsed = 1u;
 
-	init_v2gSessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq);
+	init_iso2SessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq);
 
 	exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen = 1;
 	exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0] = 10;
@@ -839,14 +840,14 @@ static int charging()
 	/*******************************************
 	 * serviceDiscovery *
 	 *******************************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.ServiceDiscoveryReq_isUsed = 1u;
 
-	init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq);
+	init_iso2ServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq);
 
 	exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs_isUsed = 1u;
 	exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.arrayLen = 1;
-	exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.array[0] = v2gserviceCategoryType_Internet;
+	exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.array[0] = iso2serviceCategoryType_Internet;
 
 	printf("EV side: call EVSE serviceDiscovery");
 
@@ -904,10 +905,10 @@ static int charging()
 	/*********************************
 	 * ServiceDetails *
 	 *********************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.ServiceDetailReq_isUsed = 1u;
 
-	init_v2gServiceDetailReqType(&exiIn.V2G_Message.Body.ServiceDetailReq);
+	init_iso2ServiceDetailReqType(&exiIn.V2G_Message.Body.ServiceDetailReq);
 
 	exiIn.V2G_Message.Body.ServiceDetailReq.ServiceID = 22; /* Value Added Server ID */
 
@@ -962,12 +963,12 @@ static int charging()
 	/*******************************************
 	 * ServicePaymentSelection *
 	 *******************************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.PaymentServiceSelectionReq_isUsed = 1u;
 
-	init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq);
+	init_iso2PaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq);
 
-	exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = v2gpaymentOptionType_ExternalPayment;
+	exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = iso2paymentOptionType_ExternalPayment;
 	exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedVASList_isUsed = 0u;
 	exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedEnergyTransferService.ServiceID = 1;
 	exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedEnergyTransferService.ParameterSetID = 4;
@@ -1001,10 +1002,10 @@ static int charging()
 	/**********************************
 	 * PaymentDetails *
 	 **********************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.PaymentDetailsReq_isUsed = 1u;
 
-	init_v2gPaymentDetailsReqType(&exiIn.V2G_Message.Body.PaymentDetailsReq);
+	init_iso2PaymentDetailsReqType(&exiIn.V2G_Message.Body.PaymentDetailsReq);
 
 	exiIn.V2G_Message.Body.PaymentDetailsReq.eMAID.characters[0] = 1;
 	exiIn.V2G_Message.Body.PaymentDetailsReq.eMAID.characters[1] = 123;
@@ -1059,10 +1060,10 @@ static int charging()
 	/*******************************************
 	 * Authorization *
 	 *******************************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.AuthorizationReq_isUsed = 1u;
 
-	init_v2gAuthorizationReqType(&exiIn.V2G_Message.Body.AuthorizationReq);
+	init_iso2AuthorizationReqType(&exiIn.V2G_Message.Body.AuthorizationReq);
 
 	copyBytes(paymentDetailsRes.GenChallenge.bytes, paymentDetailsRes.GenChallenge.bytesLen, exiIn.V2G_Message.Body.AuthorizationReq.GenChallenge.bytes);
 	exiIn.V2G_Message.Body.AuthorizationReq.GenChallenge.bytesLen = paymentDetailsRes.GenChallenge.bytesLen;
@@ -1088,7 +1089,7 @@ static int charging()
 			printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen);
 			printf("\t ResponseCode=%d\n",  exiOut.V2G_Message.Body.AuthorizationRes.ResponseCode);
 
-			if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == v2gEVSEProcessingType_Finished) {
+			if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == iso2EVSEProcessingType_Finished) {
 				printf("\t EVSEProcessing=Finished\n");
 			}
 		} else {
@@ -1105,10 +1106,10 @@ static int charging()
 	/*******************************************
 	 * chargeParameterDiscovery *
 	 *******************************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed = 1u;
 
-	init_v2gChargeParameterDiscoveryReqType(&exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq);
+	init_iso2ChargeParameterDiscoveryReqType(&exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq);
 
 	/* we use here AC based charging parameters */
 	exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.MaxSupportingPoints_isUsed = 1u;
@@ -1171,7 +1172,7 @@ static int charging()
 	/*****************************
 	 * cableCheck *
 	 *****************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.CableCheckReq_isUsed = 1u;
 
 	/*init_v2gCableCheckReqType(&exiIn.V2G_Message.Body.CableCheckReq);*/
@@ -1190,7 +1191,7 @@ static int charging()
 			printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen);
 			printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.CableCheckRes.ResponseCode);
 
-			if(exiOut.V2G_Message.Body.CableCheckRes.EVSEProcessing==v2gEVSEProcessingType_Finished) {
+			if(exiOut.V2G_Message.Body.CableCheckRes.EVSEProcessing==iso2EVSEProcessingType_Finished) {
 				printf("\tEVSEProcessing=Finished\n");
 			}
 
@@ -1208,10 +1209,10 @@ static int charging()
 	/*****************************
 	 * preCharge *
 	 *****************************/
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.PreChargeReq_isUsed = 1u;
 
-	init_v2gPreChargeReqType(&exiIn.V2G_Message.Body.PreChargeReq);
+	init_iso2PreChargeReqType(&exiIn.V2G_Message.Body.PreChargeReq);
 
 	exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Exponent = 1;
 	exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value = 234;
@@ -1250,12 +1251,12 @@ static int charging()
 	 * PowerDelivery *
 	 *********************************/
 
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.PowerDeliveryReq_isUsed = 1u;
 
-	init_v2gPowerDeliveryReqType(&exiIn.V2G_Message.Body.PowerDeliveryReq);
+	init_iso2PowerDeliveryReqType(&exiIn.V2G_Message.Body.PowerDeliveryReq);
 
-	exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = v2gchargeProgressType_Start;
+	exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = iso2chargeProgressType_Start;
 	exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID_isUsed = 1u;
 	exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID = exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID;
 
@@ -1288,10 +1289,10 @@ static int charging()
 	 * Setup data for chargingStatus *
 	 *********************************/
 
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.ChargingStatusReq_isUsed = 1u;
 
-	init_v2gChargingStatusReqType(&exiIn.V2G_Message.Body.ChargingStatusReq);
+	init_iso2ChargingStatusReqType(&exiIn.V2G_Message.Body.ChargingStatusReq);
 	exiIn.V2G_Message.Body.ChargingStatusReq.EVTargetEnergyRequest.Exponent = 2;
 	exiIn.V2G_Message.Body.ChargingStatusReq.EVTargetEnergyRequest.Value = 100;
 
@@ -1336,10 +1337,10 @@ static int charging()
 	 * MeteringReceipt *
 	 ***********************************/
 
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.MeteringReceiptReq_isUsed = 1u;
 
-	init_v2gMeteringReceiptReqType(&exiIn.V2G_Message.Body.MeteringReceiptReq);
+	init_iso2MeteringReceiptReqType(&exiIn.V2G_Message.Body.MeteringReceiptReq);
 
 
 	exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[0]='I';
@@ -1350,7 +1351,7 @@ static int charging()
 	exiIn.V2G_Message.Body.MeteringReceiptReq.SessionID.bytes[0] = 22;
 	exiIn.V2G_Message.Body.MeteringReceiptReq.SessionID.bytesLen = 1;
 
-	init_v2gMeterInfoType(&exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo);
+	init_iso2MeterInfoType(&exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo);
 	exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[0] = 'M';
 	exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[1] = 'i';
 	exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[2] = 'd';
@@ -1385,11 +1386,11 @@ static int charging()
 	 ***********************************/
 
 
-	init_v2gBodyType(&exiIn.V2G_Message.Body);
+	init_iso2BodyType(&exiIn.V2G_Message.Body);
 	exiIn.V2G_Message.Body.SessionStopReq_isUsed = 1u;
 
-	init_v2gSessionStopReqType(&exiIn.V2G_Message.Body.SessionStopReq);
-	exiIn.V2G_Message.Body.SessionStopReq.ChargingSession = v2gchargingSessionType_Pause;
+	init_iso2SessionStopReqType(&exiIn.V2G_Message.Body.SessionStopReq);
+	exiIn.V2G_Message.Body.SessionStopReq.ChargingSession = iso2chargingSessionType_Pause;
 
 	printf("EV side: call EVSE stopSession \n");
 
@@ -1571,7 +1572,7 @@ static int xmldsig_test() {
 	stream2.data = buffer2;
 	stream2.pos = &pos2;
 
-	struct v2gEXIFragment exiV2G_AR;
+	struct iso2EXIFragment exiV2G_AR;
 	struct xmldsigEXIFragment exiXMLDSIG_SI;
 
 	int sizeIsoStream1 = 25;
@@ -1590,9 +1591,9 @@ static int xmldsig_test() {
 	</v2gci_b:AuthorizationReq>
 	*/
 
-	init_v2gEXIFragment(&exiV2G_AR);
+	init_iso2EXIFragment(&exiV2G_AR);
 	exiV2G_AR.AuthorizationReq_isUsed = 1u;
-	init_v2gAuthorizationReqType(&exiV2G_AR.AuthorizationReq);
+	init_iso2AuthorizationReqType(&exiV2G_AR.AuthorizationReq);
 	exiV2G_AR.AuthorizationReq.Id_isUsed = 1;
 	exiV2G_AR.AuthorizationReq.Id.charactersLen = 3;
 	exiV2G_AR.AuthorizationReq.Id.characters[0] = 'I';
@@ -1619,7 +1620,7 @@ static int xmldsig_test() {
 	exiV2G_AR.AuthorizationReq.GenChallenge.bytes[15] = 0x61;
 
 	/* encode fragment with ISO schema */
-	errn = encode_v2gExiFragment(&stream1, &exiV2G_AR);
+	errn = encode_iso2ExiFragment(&stream1, &exiV2G_AR);
 
 	if((*stream1.pos) != sizeIsoStream1) {
 		errn = -1;

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است