You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

193 lines
4.4 KiB

// 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
// ---------
/*
<!-- test_one_param() -->
@param[borrow] p Multiline Doc
*/
PEP_STATUS test_one_param(
size p
);
/*
<!-- test_two_param() -->
@param[borrow] p1 Multiline Doc
@param[borrow] p2 Multiline Doc
*/
PEP_STATUS test_two_param(
size p1,
size p2
);
/*
<!-- method_test_all() -->
@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