1 #ifndef CORBA_TYPECODE_H 2 #define CORBA_TYPECODE_H 1 3 4 #include <orbit/orb-core/corba-typecode-type.h> 5 #include <orbit/orb-core/corba-any-type.h> 6 #include <orbit/orb-core/orbit-object.h> 7 8 G_BEGIN_DECLS 9 10 #define CORBA_tk_recursive 0xffffffff 11 #define CORBA_tk_last (CORBA_tk_abstract_interface + 1) 12 13 struct CORBA_TypeCode_struct { 14 struct ORBit_RootObject_struct parent; 15 CORBA_unsigned_long kind; /* The type */ 16 CORBA_unsigned_long flags; /* native - impl. flags */ 17 CORBA_short c_length; /* native - C size */ 18 CORBA_short c_align; /* native - C align */ 19 CORBA_unsigned_long length; /* length of sub types / parts */ 20 CORBA_unsigned_long sub_parts; /* length of sub parts */ 21 CORBA_TypeCode *subtypes; /* for struct, exception, union, alias, array, sequence */ 22 CORBA_TypeCode discriminator; /* for union */ 23 char *name; 24 char *repo_id; 25 char **subnames; /* for struct, exception, union, enum */ 26 CORBA_long *sublabels; /* for union */ 27 CORBA_long default_index; /* for union */ 28 CORBA_unsigned_long recurse_depth; /* for recursive sequence */ 29 CORBA_unsigned_short digits; /* for fixed */ 30 CORBA_short scale; /* for fixed */ 31 }; 32 33 extern ORBIT2_MAYBE_CONST ORBit_RootObject_Interface ORBit_TypeCode_epv; 34 35 #define TC_null ((CORBA_TypeCode)&TC_null_struct) 36 #define TC_void ((CORBA_TypeCode)&TC_void_struct) 37 #define TC_CORBA_short ((CORBA_TypeCode)&TC_CORBA_short_struct) 38 #define TC_CORBA_long ((CORBA_TypeCode)&TC_CORBA_long_struct) 39 #define TC_CORBA_long_long ((CORBA_TypeCode)&TC_CORBA_long_long_struct) 40 #define TC_CORBA_unsigned_short ((CORBA_TypeCode)&TC_CORBA_unsigned_short_struct) 41 #define TC_CORBA_unsigned_long ((CORBA_TypeCode)&TC_CORBA_unsigned_long_struct) 42 #define TC_CORBA_unsigned_long_long ((CORBA_TypeCode)&TC_CORBA_unsigned_long_long_struct) 43 #define TC_CORBA_float ((CORBA_TypeCode)&TC_CORBA_float_struct) 44 #define TC_CORBA_double ((CORBA_TypeCode)&TC_CORBA_double_struct) 45 #define TC_CORBA_long_double ((CORBA_TypeCode)&TC_CORBA_long_double_struct) 46 #define TC_CORBA_boolean ((CORBA_TypeCode)&TC_CORBA_boolean_struct) 47 #define TC_CORBA_char ((CORBA_TypeCode)&TC_CORBA_char_struct) 48 #define TC_CORBA_wchar ((CORBA_TypeCode)&TC_CORBA_wchar_struct) 49 #define TC_CORBA_octet ((CORBA_TypeCode)&TC_CORBA_octet_struct) 50 #define TC_CORBA_any ((CORBA_TypeCode)&TC_CORBA_any_struct) 51 #define TC_CORBA_TypeCode ((CORBA_TypeCode)&TC_CORBA_TypeCode_struct) 52 #define TC_CORBA_Principal ((CORBA_TypeCode)&TC_CORBA_Principal_struct) 53 #define TC_CORBA_Object ((CORBA_TypeCode)&TC_CORBA_Object_struct) 54 #define TC_CORBA_string ((CORBA_TypeCode)&TC_CORBA_string_struct) 55 #define TC_CORBA_wstring ((CORBA_TypeCode)&TC_CORBA_wstring_struct) 56 57 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_null_struct; 58 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_void_struct; 59 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_char_struct; 60 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_wchar_struct; 61 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_string_struct; 62 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_wstring_struct; 63 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_long_struct; 64 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_unsigned_long_struct; 65 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_short_struct; 66 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_unsigned_short_struct; 67 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_octet_struct; 68 #define TC_Object_struct TC_CORBA_Object_struct 69 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_Object_struct; 70 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_any_struct; 71 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_TypeCode_struct; 72 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_boolean_struct; 73 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_float_struct; 74 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_double_struct; 75 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_long_double_struct; 76 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_long_long_struct; 77 extern ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_unsigned_long_long_struct; 78 79 #ifdef ORBIT2_INTERNAL_API 80 81 #include <orbit/GIOP/giop-basics.h> 82 83 void ORBit_encode_CORBA_TypeCode (CORBA_TypeCode tc, 84 GIOPSendBuffer *buf); 85 gboolean ORBit_decode_CORBA_TypeCode (CORBA_TypeCode *tc, 86 GIOPRecvBuffer *buf); 87 88 const char *ORBit_tk_to_name (CORBA_unsigned_long tk); 89 90 #endif /* ORBIT2_INTERNAL_API */ 91 92 G_END_DECLS 93 94 #endif 95