#ifndef _OPT_H #define _OPT_H #ifndef INT64_H #define INT64_H typedef long long int64; #endif #ifndef U_INT8_H #define U_INT8_H typedef unsigned char uint8; #endif #ifndef U_INT64_H #define U_INT64_H typedef unsigned long long uint64; #endif #ifndef U_INT16_H #define U_INT16_H typedef unsigned short uint16; #endif #ifndef U_LONG64_H #define U_LONG64_H typedef unsigned long ulong64; #endif #ifndef U_INT32_H #define U_INT32_H typedef unsigned int uint32; #endif #define OPT_STATUS_COMPLETE 0 #define OPT_STATUS_FRAG 1 #define OPT_STATUS_FRAG_END 2 typedef void* opt_t; #ifdef __cplusplus extern "C" { #endif opt_t create_opt(int opt_type, int opt_status, const char* opt_name, const void* opt_value, uint32 opt_len); void destroy_opt(opt_t opt); void append_nested_opt(opt_t ext_opt, opt_t inner_opt); uint32 get_opt_size(opt_t opt); #ifdef __cplusplus } #endif #endif