deep-c-rsc/jcgo_Out/FlChnnIm.c

519 lines
16 KiB
C

/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */
#ifdef JCGO_SEPARATED
#define JCGO_116
#include "jcgortl.h"
#include "Main.h"
#endif
#ifdef JCGO_116
#ifdef CHKALL_gnu_java_nio_FileChannelImpl
#include "jcgobchk.h"
#endif
JCGO_NOSEP_STATIC gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__this__L59mndI( gnu_java_nio_FileChannelImpl
This, gnu_java_nio_VMChannel ch, jint mode )
{
{
(java_nio_channels_FileChannel__this__((java_nio_channels_FileChannel)This));
JCGO_FIELD_NZACCESS(This, mode)= mode;
JCGO_FIELD_NZACCESS(This, ch)= ch;
JCGO_FIELD_NZACCESS(This, description)= java_lang_VMSystem__concat0X__LsLs(
JCGO_STRREF_OF(jcgo_string2_FlChnnIm), (gnu_java_nio_VMChannel_State__toString__(
(JCGO_CALL_FINALF(ch) gnu_java_nio_VMChannel__getState__(
ch)))));
}
return This;
}
JCGO_NOSEP_INLINE gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__new__L59mndI( gnu_java_nio_VMChannel
ch, jint mode )
{
return gnu_java_nio_FileChannelImpl__this__L59mndI(
(gnu_java_nio_FileChannelImpl)jcgo_newObject((jvtable)&gnu_java_nio_FileChannelImpl_methods),
ch, mode);
}
JCGO_NOSEP_FRWINL gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__makeStdinChannel__( void )
{
{
{
JCGO_TRY_BLOCK
{
{
gnu_java_nio_FileChannelImpl jcgo_retval= (gnu_java_nio_FileChannelImpl__new__L59mndI(
(gnu_java_nio_VMChannel__getStdin__()), gnu_java_nio_FileChannelImpl__READ));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
#endif
return jcgo_retval;
}
}
JCGO_TRY_LEAVE
JCGO_TRY_CATCHES(1)
JCGO_TRY_CATCH(OBJT_java_io_IOException, MAXT_java_io_IOException)
{
java_io_IOException ioe;
ioe= (java_io_IOException)JCGO_TRY_THROWABLE(0);
JCGO_THROW_EXC((java_lang_InternalError)JCGO_CAST_OBJECT0(OBJT_java_lang_InternalError,
MAXT_java_lang_InternalError, (java_lang_Throwable__initCause__Lt(
(java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)ioe))));
}
JCGO_TRY_RETHROW(1)
}
}
return jnull;
}
JCGO_NOSEP_STATIC gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__this__L6745cI( gnu_java_nio_FileChannelImpl
This, java_io_File file, jint mode )
{
{
java_lang_String path;
(java_nio_channels_FileChannel__this__((java_nio_channels_FileChannel)This));
path= (JCGO_CALL_FINALF(file) java_io_File__getPath__(
file));
JCGO_FIELD_NZACCESS(This, description)= path;
JCGO_FIELD_NZACCESS(This, mode)= mode;
JCGO_FIELD_NZACCESS(This, ch)= gnu_java_nio_VMChannel__new__();
(gnu_java_nio_VMChannel__openFile__LsI(
JCGO_FIELD_NZACCESS(This, ch), path, mode));
if ((mode & gnu_java_nio_FileChannelImpl__WRITE) == 0 && (java_io_File__isDirectory__(
file)))
{
{
JCGO_TRY_BLOCK
{
(java_nio_channels_spi_AbstractInterruptibleChannel__close__(
(java_nio_channels_spi_AbstractInterruptibleChannel)This));
}
JCGO_TRY_LEAVE
JCGO_TRY_CATCHES(1)
JCGO_TRY_CATCH(OBJT_java_io_IOException, MAXT_java_io_IOException)
{
}
JCGO_TRY_RETHROW(1)
}
JCGO_THROW_EXC((java_io_FileNotFoundException__new__Ls(
java_lang_VMSystem__concat0X__LsLs(
path, JCGO_STRREF_OF(jcgo_string3_FlChnnIm)))));
}
}
return This;
}
JCGO_NOSEP_INLINE gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__new__L6745cI( java_io_File file, jint
mode )
{
return gnu_java_nio_FileChannelImpl__this__L6745cI(
(gnu_java_nio_FileChannelImpl)jcgo_newObject((jvtable)&gnu_java_nio_FileChannelImpl_methods),
file, mode);
}
JCGO_NOSEP_STATIC gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__makeStdOutErrChannel__Z( jboolean isStdErr
)
{
{
{
JCGO_TRY_BLOCK
{
{
gnu_java_nio_FileChannelImpl jcgo_retval= (gnu_java_nio_FileChannelImpl__new__L59mndI(
isStdErr? (gnu_java_nio_VMChannel__getStderr__()) : (gnu_java_nio_VMChannel__getStdout__()),
gnu_java_nio_FileChannelImpl__WRITE));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
#endif
return jcgo_retval;
}
}
JCGO_TRY_LEAVE
JCGO_TRY_CATCHES(1)
JCGO_TRY_CATCH(OBJT_java_io_IOException, MAXT_java_io_IOException)
{
java_io_IOException ioe;
ioe= (java_io_IOException)JCGO_TRY_THROWABLE(0);
JCGO_THROW_EXC((java_lang_InternalError)JCGO_CAST_OBJECT0(OBJT_java_lang_InternalError,
MAXT_java_lang_InternalError, (java_lang_Throwable__initCause__Lt(
(java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)ioe))));
}
JCGO_TRY_RETHROW(1)
}
}
return jnull;
}
JCGO_NOSEP_INLINE gnu_java_nio_FileChannelImpl CFASTCALL
gnu_java_nio_FileChannelImpl__create__L6745cI( java_io_File file,
jint mode )
{
JCGO_CLINIT_TRIG(gnu_java_nio_FileChannelImpl__class);
{
return (gnu_java_nio_FileChannelImpl__new__L6745cI(
file, mode));
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_nio_FileChannelImpl__available__( gnu_java_nio_FileChannelImpl
This )
{
{
jObject jcgo_rcvrL1;
return (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, ch), JCGO_CALL_FINALF((gnu_java_nio_VMChannel)jcgo_rcvrL1)
gnu_java_nio_VMChannel__available__(
(gnu_java_nio_VMChannel)jcgo_rcvrL1));
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_nio_FileChannelImpl__implCloseChannel__( gnu_java_nio_FileChannelImpl
This )
{
{
jObject jcgo_rcvrL1;
if (((java_lang_Object)jnull) != jnull)
{
(JCGO_CALL_FINALF(((java_lang_Object)jnull)) (void)0);
}
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, ch), JCGO_CALL_FINALF((gnu_java_nio_VMChannel)jcgo_rcvrL1)
gnu_java_nio_VMChannel__close__(
(gnu_java_nio_VMChannel)jcgo_rcvrL1));
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_nio_FileChannelImpl__read__L9oaia( gnu_java_nio_FileChannelImpl
This, java_nio_ByteBuffer dst )
{
{
JCGO_TRY_VOLATILE jint result;
JCGO_TRY_VOLATILE jboolean completed;
if (!(java_nio_channels_spi_AbstractInterruptibleChannel__isOpen__(
(java_nio_channels_spi_AbstractInterruptibleChannel)This)))
{
JCGO_THROW_EXC(java_nio_channels_ClosedChannelException__new__());
}
if ((JCGO_FIELD_NZACCESS(This, mode) & gnu_java_nio_FileChannelImpl__READ) ==
0)
{
JCGO_THROW_EXC(java_nio_channels_NonReadableChannelException__new__());
}
completed= jfalse;
{
JCGO_TRY_BLOCK
{
jObject jcgo_rcvrL1;
(java_nio_channels_spi_AbstractInterruptibleChannel__begin__(
(java_nio_channels_spi_AbstractInterruptibleChannel)This));
result= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, ch), JCGO_CALL_FINALF((gnu_java_nio_VMChannel)jcgo_rcvrL1)
gnu_java_nio_VMChannel__read__L9oaia(
(gnu_java_nio_VMChannel)jcgo_rcvrL1, dst));
completed= (jboolean)jtrue;
}
JCGO_TRY_LEAVE
{
(java_nio_channels_spi_AbstractInterruptibleChannel__end__Z(
(java_nio_channels_spi_AbstractInterruptibleChannel)This, (jboolean)completed));
}
JCGO_TRY_FINALLYEND
}
return result;
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_nio_FileChannelImpl__read__( gnu_java_nio_FileChannelImpl
This )
{
{
jObject jcgo_rcvrL1;
return (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, ch), JCGO_CALL_FINALF((gnu_java_nio_VMChannel)jcgo_rcvrL1)
gnu_java_nio_VMChannel__read__(
(gnu_java_nio_VMChannel)jcgo_rcvrL1));
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_nio_FileChannelImpl__write__L9oaia( gnu_java_nio_FileChannelImpl
This, java_nio_ByteBuffer src )
{
{
JCGO_TRY_VOLATILE jint result;
JCGO_TRY_VOLATILE jboolean completed;
if (!(java_nio_channels_spi_AbstractInterruptibleChannel__isOpen__(
(java_nio_channels_spi_AbstractInterruptibleChannel)This)))
{
JCGO_THROW_EXC(java_nio_channels_ClosedChannelException__new__());
}
if ((JCGO_FIELD_NZACCESS(This, mode) & gnu_java_nio_FileChannelImpl__WRITE) ==
0)
{
JCGO_THROW_EXC(java_nio_channels_NonWritableChannelException__new__());
}
completed= jfalse;
{
JCGO_TRY_BLOCK
{
jObject jcgo_rcvrL1;
(java_nio_channels_spi_AbstractInterruptibleChannel__begin__(
(java_nio_channels_spi_AbstractInterruptibleChannel)This));
result= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, ch), JCGO_CALL_FINALF((gnu_java_nio_VMChannel)jcgo_rcvrL1)
gnu_java_nio_VMChannel__write__L9oaia(
(gnu_java_nio_VMChannel)jcgo_rcvrL1, src));
completed= (jboolean)jtrue;
}
JCGO_TRY_LEAVE
{
(java_nio_channels_spi_AbstractInterruptibleChannel__end__Z(
(java_nio_channels_spi_AbstractInterruptibleChannel)This, (jboolean)completed));
}
JCGO_TRY_FINALLYEND
}
return result;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
gnu_java_nio_FileChannelImpl__toString__( gnu_java_nio_FileChannelImpl
This )
{
{
jObject jcgo_rcvrL1;
jObject jcgo_rcvrL2;
struct java_lang_String_s jcgo_stackobj1;
struct java_lang_StringBuilder_s jcgo_stackobj2;
struct java_lang_String_s jcgo_stackobj3;
return java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
(jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
(jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj2, java_lang_StringBuilder_methods)),
(java_lang_Object__toString__X(
(java_lang_Object)This, JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_String_methods)))),
JCGO_STRREF_OF(jcgo_string4_FlChnnIm)), java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (gnu_java_nio_VMChannel_State__toString__(
(jcgo_rcvrL2= (jObject)JCGO_FIELD_NZACCESS(This, ch), JCGO_CALL_FINALF((gnu_java_nio_VMChannel)jcgo_rcvrL2)
gnu_java_nio_VMChannel__getState__(
(gnu_java_nio_VMChannel)jcgo_rcvrL2)))))), JCGO_STRREF_OF(jcgo_string5_FlChnnIm)),
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (JCGO_FIELD_NZACCESS(This,
mode) != 0? (java_lang_Integer__toOctalString__IX(
JCGO_FIELD_NZACCESS(This, mode), JCGO_STACKOBJ_NEW(jcgo_stackobj3,
java_lang_String_methods))) : JCGO_STRREF_OF(jcgo_string3_String6D)))),
JCGO_STRREF_OF(jcgo_string6_FlChnnIm)), java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, JCGO_FIELD_NZACCESS(This,
description))), JCGO_STRREF_OF(jcgo_string7_FlChnnIm)));
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_nio_FileChannelImpl__class__0( void )
{
JCGO_CLINIT_BEGIN(gnu_java_nio_FileChannelImpl__class);
gnu_java_nio_FileChannelImpl__err= (gnu_java_nio_FileChannelImpl__makeStdOutErrChannel__Z(
(jboolean)jtrue));
gnu_java_nio_FileChannelImpl__out= (gnu_java_nio_FileChannelImpl__makeStdOutErrChannel__Z(
(jboolean)jfalse));
gnu_java_nio_FileChannelImpl__in= (gnu_java_nio_FileChannelImpl__makeStdinChannel__());
JCGO_CLINIT_DONE(gnu_java_nio_FileChannelImpl__class);
}
JCGO_NOSEP_DATA CONST struct gnu_java_nio_FileChannelImpl_methods_s
gnu_java_nio_FileChannelImpl_methods=
{
JCGO_CLASSREF_OF(gnu_java_nio_FileChannelImpl__class),
JCGO_GCJDESCR_INIT(gnu_java_nio_FileChannelImpl_s, description)
OBJT_gnu_java_nio_FileChannelImpl,
(JCGO_OBJSIZE_T)sizeof(struct gnu_java_nio_FileChannelImpl_s),
NULL,
JCGO_CLINIT_INIT(gnu_java_nio_FileChannelImpl__class__0)
0,
java_lang_Object__equals__Lo,
java_lang_Object__hashCode__,
gnu_java_nio_FileChannelImpl__toString__,
java_lang_Object__finalize__,
gnu_java_nio_FileChannelImpl__implCloseChannel__
};
JCGO_NOSEP_DATA struct gnu_java_nio_FileChannelImpl_class_s gnu_java_nio_FileChannelImpl__class
ATTRIBNONGC=
{
{
&java_lang_Class_methods,
JCGO_MON_INIT
JCGO_OBJREF_OF(*(java_lang_Object)&gnu_java_nio_FileChannelImpl_methods),
JCGO_STRREF_OF(jcgo_string1_FlChnnIm),
JCGO_CLASSREF_OF(java_nio_channels_FileChannel__class),
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
0x1d1
}
};
JCGO_NOSEP_GCDATA gnu_java_nio_FileChannelImpl gnu_java_nio_FileChannelImpl__err
ATTRIBGCBSS= jnull;
JCGO_NOSEP_GCDATA gnu_java_nio_FileChannelImpl gnu_java_nio_FileChannelImpl__out
ATTRIBGCBSS= jnull;
JCGO_NOSEP_GCDATA gnu_java_nio_FileChannelImpl gnu_java_nio_FileChannelImpl__in
ATTRIBGCBSS= jnull;
JCGO_NOSEP_DATA CONST jcgo_arrtype90_GmCnnctn jcgo_array8_FlChnnIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
28,
{
(jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)117/*'u'*/,
(jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/,
(jbyte)(jchar)118/*'v'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/,
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)111/*'o'*/,
(jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)70/*'F'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)67/*'C'*/,
(jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)110/*'n'*/,
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)108/*'l'*/,
(jbyte)(jchar)73/*'I'*/, (jbyte)(jchar)109/*'m'*/, (jbyte)(jchar)112/*'p'*/,
(jbyte)(jchar)108/*'l'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype28_Object jcgo_array9_FlChnnIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
11,
{
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)115/*'s'*/,
(jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)111/*'o'*/,
(jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)35/*'#'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype43_GameShll jcgo_array10_FlChnnIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
15,
{
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)115/*'s'*/,
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)32/*' '*/,
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)114/*'r'*/,
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)116/*'t'*/,
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)121/*'y'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype2_BZLib jcgo_array11_FlChnnIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
6,
{
(jbyte)(jchar)91/*'['*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)102/*'f'*/,
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)58/*':'*/, (jbyte)(jchar)32/*' '*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype28_GameShll jcgo_array12_FlChnnIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
9,
{
(jbyte)(jchar)59/*';'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)109/*'m'*/,
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)101/*'e'*/,
(jbyte)(jchar)58/*':'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)48/*'0'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype33_Object jcgo_array13_FlChnnIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
2,
{
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)93/*']'*/
}
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array8_FlChnnIm),
0, 28, (jint)0xcd062661L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_FlChnnIm),
0, 11, (jint)0x99359a94L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string3_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array10_FlChnnIm),
0, 15, (jint)0xb4eb8f98L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array11_FlChnnIm),
0, 6, (jint)0x9d3bcd09L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array12_FlChnnIm),
0, 9, (jint)0x710c4e62L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string6_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array12_FlChnnIm),
0, 2, (jint)0x745L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string7_FlChnnIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array13_FlChnnIm),
0, 2, (jint)0x43dL
};
#ifdef CHKALL_gnu_java_nio_FileChannelImpl
#include "jcgochke.h"
#endif
#endif