00001
00002
00003
00004
00005 #if !defined(_INCLUDED_SOS_DTYPES_H_HEADER__)
00006 #define _INCLUDED_SOS_DTYPES_H_HEADER__
00007
00014 SUL_PEER_DECLARE(data_types);
00015
00021 typedef enum sos_data_type_e
00022 {
00023 SOS_DT_UNKNOWN,
00024 SOS_DT_INTEGER,
00025 SOS_DT_STRING,
00026 SOS_DT_REAL,
00027 SOS_DT_BOOLEAN
00028 } sos_data_type_e;
00029
00033 typedef struct sos_data_type_t
00034 {
00036 sul_key_t identifier;
00037 char *name;
00038 sos_data_type_e etype;
00039 } sos_data_type_t;
00040
00050 SOS_DECLARE(sul_error_t *)
00051 sos_data_type_get_key(sos_data_type_t **type, sul_key_t identifier,
00052 sos_fs_txn_t *txn, apr_pool_t *pool);
00053
00063 SOS_DECLARE(sul_error_t *)
00064 sos_data_type_get_name(sos_data_type_t **type, const char *name,
00065 sos_fs_txn_t *txn, apr_pool_t *pool);
00066
00073 SOS_DECLARE(sos_data_type_e)
00074 sos_data_type_get_type(sos_data_type_t *type);
00075
00082 SOS_DECLARE(sos_data_type_e)
00083 sos_etype_from_string(const char *str);
00084
00092 SOS_DECLARE(sul_error_t *)
00093 sos_error_unknown_type(const char *str, apr_pool_t *pool);
00094
00097 #endif