00001 00024 #ifndef __BASE1_H__ 00025 #define __BASE1_H__ 00026 00027 #include "common.h" 00028 00030 typedef struct base1_st_ *base1_handle; 00031 00033 typedef struct base1_public_data_st_ { 00035 uint8_t val1; 00037 uint32_t val2; 00038 } base1_public_data_st; 00039 00040 /* APIs below are documented in their implementation file */ 00041 00042 extern const char * 00043 base1_get_val1_description(void); 00044 00045 extern my_rc_e 00046 base1_get_public_data(base1_handle base1_h, base1_public_data_st *public_data); 00047 00048 extern my_rc_e 00049 base1_set_public_data(base1_handle base1_h, base1_public_data_st *public_data); 00050 00051 extern my_rc_e 00052 base1_increase_val3(base1_handle base1_h); 00053 00054 extern base1_handle 00055 base1_new1(void); 00056 00057 extern base1_handle 00058 base1_new2(base1_public_data_st *public_data); 00059 00060 extern base1_handle 00061 base1_new3(uint8_t val1, uint32_t val3); 00062 00063 extern void 00064 base1_delete(base1_handle base1_h); 00065 00066 extern const char * 00067 base1_type_string(base1_handle base1_h); 00068 00069 extern my_rc_e 00070 base1_string(base1_handle base1_h, char *buffer, size_t buffer_size); 00071 00072 extern my_rc_e 00073 base1_string_size(base1_handle base1_h, size_t *buffer_size); 00074 00075 #endif