00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _EYEDB_CODE_H
00026 #define _EYEDB_CODE_H
00027
00028 #define E_XDR
00029
00030 namespace eyedb {
00031
00032 extern void
00033 char_code(Data *, Offset *, Size *, const char *),
00034 int16_code(Data *, Offset *, Size *, const eyedblib::int16 *),
00035 int32_code(Data *, Offset *, Size *, const eyedblib::int32 *),
00036 int64_code(Data *, Offset *, Size *, const eyedblib::int64 *),
00037 double_code(Data *, Offset *, Size *, const double *),
00038 string_code(Data *, Offset *, Size *, const char *),
00039 bound_string_code(Data *, Offset *, Size *, unsigned int,
00040 const char *),
00041 buffer_code(Data *, Offset *, Size *, Data, Size);
00042
00043 #ifdef XDR_TRACE_OID
00044 #define oid_code(DATA, OFFSET, SIZE, OID) \
00045 do { \
00046 fprintf(stdout, "Called from %s:%d\n", __FILE__, __LINE__); \
00047 _oid_code(DATA, OFFSET, SIZE, OID); \
00048 fprintf(stdout, "\n"); \
00049 } while(0)
00050 extern void
00051 _oid_code(Data *, Offset *, Size *, const eyedbsm::Oid *);
00052 #else
00053 extern void
00054 oid_code(Data *, Offset *, Size *, const eyedbsm::Oid *);
00055
00056 #endif
00057
00058 extern void
00059 char_decode(Data, Offset *, char *),
00060 int16_decode(Data, Offset *, eyedblib::int16 *),
00061 int32_decode(Data, Offset *, eyedblib::int32 *),
00062 int64_decode(Data, Offset *, eyedblib::int64 *),
00063 double_decode(Data, Offset *, double *),
00064 string_decode(Data, Offset *, char **),
00065 bound_string_decode(Data, Offset *, unsigned int, char **),
00066 buffer_decode(Data, Offset *, Data, Size);
00067
00068 extern void
00069 oid_code(Data out_data, const Data in_data),
00070 int16_code(Data out_data, const Data in_data),
00071 int32_code(Data out_data, const Data in_data),
00072 int64_code(Data out_data, const Data in_data),
00073 double_code(Data out_data, const Data in_data);
00074
00075 #ifdef XDR_TRACE_OID
00076 #define oid_decode(DATA, OFFSET, OID) \
00077 do { \
00078 fprintf(stdout, "Called from %s:%d\n", __FILE__, __LINE__); \
00079 _oid_decode(DATA, OFFSET, OID); \
00080 fprintf(stdout, "\n"); \
00081 } while(0)
00082 extern void
00083 _oid_decode(Data, Offset *, eyedbsm::Oid *);
00084 #else
00085 extern void
00086 oid_decode(Data, Offset *, eyedbsm::Oid *);
00087 #endif
00088
00089 extern int
00090 object_header_code(Data *, Offset *, Size *, const ObjectHeader *),
00091 object_header_code_head(Data, const ObjectHeader *),
00092 object_header_decode(Data, Offset *, ObjectHeader *),
00093 object_header_decode_head(Data, ObjectHeader *);
00094
00095
00096 #ifdef E_XDR
00097 extern void
00098 xdr_char_code(Data *, Offset *, Size *, const char *),
00099 xdr_int16_code(Data *, Offset *, Size *, const eyedblib::int16 *),
00100 xdr_int32_code(Data *, Offset *, Size *, const eyedblib::int32 *),
00101 xdr_int64_code(Data *, Offset *, Size *, const eyedblib::int64 *),
00102 xdr_double_code(Data *, Offset *, Size *, const double *),
00103 xdr_string_code(Data *, Offset *, Size *, const char *),
00104 xdr_bound_string_code(Data *, Offset *, Size *, unsigned int,
00105 const char *),
00106 xdr_buffer_code(Data *, Offset *, Size *, Data, Size),
00107 xdr_oid_code(Data *, Offset *, Size *, const eyedbsm::Oid *);
00108
00109 extern void
00110 xdr_char_decode(Data, Offset *, char *),
00111 xdr_int16_decode(Data, Offset *, eyedblib::int16 *),
00112 xdr_int32_decode(Data, Offset *, eyedblib::int32 *),
00113 xdr_int64_decode(Data, Offset *, eyedblib::int64 *),
00114 xdr_double_decode(Data, Offset *, double *),
00115 xdr_string_decode(Data, Offset *, char **),
00116 xdr_bound_string_decode(Data, Offset *, unsigned int, char **),
00117 xdr_buffer_decode(Data, Offset *, Data, Size),
00118 xdr_oid_decode(Data, Offset *, eyedbsm::Oid *);
00119
00120 extern int
00121 xdr_object_header_code(Data *, Offset *, Size *, const ObjectHeader *),
00122 xdr_object_header_code_head(Data, const ObjectHeader *),
00123 xdr_object_header_decode(Data, Offset *, ObjectHeader *),
00124 xdr_object_header_decode_head(Data, ObjectHeader *);
00125 #endif
00126
00127 extern void br_code(const char *msg);
00128 }
00129
00130 #endif