// IG_C99 version 1.0 // test_api.h // License text #pragma once #ifdef __cplusplus extern "C" { #endif #include "idl_core.h" // Deftypes // -------- typedef int deftype1; typedef string deftype2; typedef list stringlist; // Enums // ----- typedef enum _IG_C99_IMPLICIT_VALUE_ITEMS { IG_C99_IMPLICIT_VALUE_ITEMS_ITEM1, IG_C99_IMPLICIT_VALUE_ITEMS_ITEM2, IG_C99_IMPLICIT_VALUE_ITEMS_ITEM3, IG_C99_IMPLICIT_VALUE_ITEMS_ITEM4 } IG_C99_IMPLICIT_VALUE_ITEMS; typedef enum _IG_C99_EXPLICIT_DEC_VALUE_ITEMS { IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM1 = 0, IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM2 = 2, IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM3 = 987, IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM4 = -3 } IG_C99_EXPLICIT_DEC_VALUE_ITEMS; typedef enum _IG_C99_EXPLICIT_HEX_VALUE_ITEMS { IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM1 = 0x0, IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0x2, IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0xFF, IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0xff, IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM3 = 0x987, IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM4 = 0x3 } IG_C99_EXPLICIT_HEX_VALUE_ITEMS; typedef enum _IG_C99_DOC_WELL_FORMATTED { IG_C99_DOC_WELL_FORMATTED_ITEM1, // oneline doc IG_C99_DOC_WELL_FORMATTED_ITEM2, // item 3 // ------ // multiline // doc IG_C99_DOC_WELL_FORMATTED_ITEM3, IG_C99_DOC_WELL_FORMATTED_DECITEM1 = 23, // oneline doc IG_C99_DOC_WELL_FORMATTED_DECITEM2 = 42, // item 3 // ------ // multiline // doc IG_C99_DOC_WELL_FORMATTED_DECITEM3 = -9999, IG_C99_DOC_WELL_FORMATTED_HEXITEM1 = 0x23, // oneline doc IG_C99_DOC_WELL_FORMATTED_HEXITEM2 = 0x42, // item 3 // ------ // multiline // doc IG_C99_DOC_WELL_FORMATTED_HEXITEM3 = 0x99FF } IG_C99_DOC_WELL_FORMATTED; typedef enum _IG_C99_DOC_BADLY_FORMATTTED { IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0, IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1, // item 3 // ------ // multiline // doc with bad formattting IG_C99_DOC_BADLY_FORMATTTED_ITEM3 = 2 } IG_C99_DOC_BADLY_FORMATTTED; typedef enum _IG_C99_ENUM1 { IG_C99_ENUM1_ITEM1, IG_C99_ENUM1_ITEM2, IG_C99_ENUM1_ITEM3 } IG_C99_ENUM1; // Structs // ------- typedef struct _Ig_c99_Struct1 { int int1; size size1; string string1; } Ig_c99_Struct1; typedef struct _Ig_c99_Struct1 { int int1; size size1; string string1; } Ig_c99_Struct1; // Functions // --------- /* @param[borrow] p Multiline Doc */ PEP_STATUS test_one_param( size p ); /* @param[borrow] p1 Multiline Doc @param[borrow] p2 Multiline Doc */ PEP_STATUS test_two_param( size p1, size p2 ); /* @param[borrow] borrow_primitive_basetype @param[mborrow] mborrow_primitive_basetype @param[borrow] borrow_obj_basetype @param[mborrow] mborrow_obj_basetype @param[claim] claim_obj_basetype @param[provide] provide_obj_basetype @param[borrow] borrow_enum @param[mborrow] mborrow_enum @param[borrow] borrow_struct @param[mborrow] mborrow_struct @param[claim] claim_struct @param[provide] provide_struct @param[borrow] borrow_deftype_primitive_basetype @param[mborrow] mborrow_deftype_primitive_basetype @param[borrow] borrow_deftype_obj_basetype @param[mborrow] mborrow_deftype_obj_basetype @param[claim] claim_deftype_obj_basetype @param[provide] provide_deftype_obj_basetype @param[borrow] borrow_deftype_generic @param[mborrow] mborrow_deftype_generic @param[claim] claim_deftype_generic @param[provide] provide_deftype_generic */ PEP_STATUS method_test_all( int borrow_primitive_basetype, int* mborrow_primitive_basetype, string borrow_obj_basetype, string* mborrow_obj_basetype, string claim_obj_basetype, string* provide_obj_basetype, enum1 borrow_enum, enum1* mborrow_enum, struct1 borrow_struct, struct1* mborrow_struct, struct1 claim_struct, struct1* provide_struct, deftype1 borrow_deftype_primitive_basetype, deftype1* mborrow_deftype_primitive_basetype, deftype2 borrow_deftype_obj_basetype, deftype2* mborrow_deftype_obj_basetype, deftype2 claim_deftype_obj_basetype, deftype2* provide_deftype_obj_basetype, stringlist borrow_deftype_generic, stringlist* mborrow_deftype_generic, stringlist claim_deftype_generic, stringlist* provide_deftype_generic ); #ifdef __cplusplus } // extern "C" #endif