namespace odtone {
template<typename T> struct bind_rv_;
template<typename T> bind_rv_< T > & bind_rv(T & rv);
}
namespace odtone {
template<typename T> class buffer;
template<typename T> class buffer_vla;
}
namespace odtone {
namespace conf {
template<typename T> class type_id_;
struct property_class;
class function;
template<typename Iterator> struct skipper_grammar;
template<typename Iterator> struct string_grammar;
template<typename Iterator> struct ip4_grammar;
template<typename Iterator> struct ip6_grammar;
template<typename Iterator> struct parser_grammar;
enum error_reason { invalid_syntax, invalid_command, invalid_arg_type,
to_many_args, invalid_prop, invalid_prop_arg_type,
to_many_prop_args, error_reason_size };
typedef boost::variant< uint, sint, double, std::string, net::ip::address_v4, net::ip::address_v6 > arg_type;
typedef std::vector< arg_type > args_type;
typedef std::pair< std::string, args_type > prop_type;
typedef std::map< std::string, args_type > pset_type;
typedef std::map< std::string, function > functions;
static char const *const error_reason_string;
bool exec(std::string::const_iterator & begin,
std::string::const_iterator end, functions const & cm);
}
}
namespace odtone {
class exception;
error_code system_error_code(int val);
}
namespace odtone {
class logger;
}
namespace odtone {
namespace mih {
class config;
}
}
namespace odtone {
namespace mih {
class confirm;
}
}
namespace odtone {
namespace mih {
class indication;
}
}
namespace odtone {
namespace dns {
class message;
}
}
namespace odtone {
namespace mih {
class request;
}
}
namespace odtone {
namespace mih {
class response;
}
}
namespace odtone {
namespace mih {
struct bad_tlv;
template<typename ValueT, ValueT Value> struct base_tlv_;
template<uint8 Value> struct tlv_;
template<uint32 Value> struct tlv4_;
template<uint8 A, uint8 B, uint8 C> struct oui_;
template<typename T, typename TLV> class tlv_type_;
template<typename T, typename TLV>
class tlv_type_<boost::optional< T >, TLV>;
template<typename T, typename TLV> class tlv_cast_;
template<typename T> class is_tlv_type;
template<typename T>
boost::enable_if< is_tlv_type< T >, iarchive & >::type
operator&(iarchive & ar, const T & val);
template<typename T>
boost::enable_if< is_tlv_type< T >, oarchive & >::type
operator&(oarchive & ar, const T & val);
}
}
namespace odtone {
namespace mih {
class id;
}
}
namespace odtone {
namespace mih {
struct ie_poa_subnet_info_list;
struct ie_poa_ip_addr_list;
struct ie_container_poa;
class ie_container_poa_list;
struct ie_container_network;
class ie_container_list_of_networks;
typedef network_type ie_network_type;
typedef operator_id ie_operator_id;
typedef sp_id ie_service_provider_id;
typedef cntry_code ie_country_code;
typedef network_id ie_network_id;
typedef net_aux_id ie_network_aux_id;
typedef roaming_ptns ie_roaming_partners;
typedef cost ie_cost;
typedef qos_list ie_network_qos;
typedef data_rate ie_network_data_rate;
typedef regu_domain ie_net_regulat_domain;
typedef freq_bands ie_net_frequency_bands;
typedef ip_config ie_net_ip_cfg_methods;
typedef net_caps ie_net_capabilities;
typedef supported_lcp ie_net_supported_lcp;
typedef ip_mob_mgmt ie_net_mob_mgmt_prot;
typedef proxy_addr ie_net_emserv_proxy;
typedef proxy_addr ie_net_ims_proxy_cscf;
typedef bool ie_net_mobile_network;
typedef link_addr ie_poa_link_addr;
typedef location ie_poa_location;
typedef ch_range ie_poa_channel_range;
typedef system_info ie_poa_system_info;
typedef ip_subnet_info ie_poa_subnet_info;
typedef ip_addr ie_poa_ip_addr;
static const tlv_cast_< ie_network_type, tlv4_< 0x10000000 > > tlv_ie_network_type;
static const tlv_cast_< ie_operator_id, tlv4_< 0x10000001 > > tlv_ie_operator_id;
static const tlv_cast_< ie_service_provider_id, tlv4_< 0x10000002 > > tlv_ie_service_provider_id;
static const tlv_cast_< ie_country_code, tlv4_< 0x10000003 > > tlv_ie_country_code;
static const tlv_cast_< ie_network_id, tlv4_< 0x10000100 > > tlv_ie_network_id;
static const tlv_cast_< ie_network_aux_id, tlv4_< 0x10000101 > > tlv_ie_network_aux_id;
static const tlv_cast_< ie_roaming_partners, tlv4_< 0x10000102 > > tlv_ie_roaming_partners;
static const tlv_cast_< ie_cost, tlv4_< 0x10000103 > > tlv_ie_cost;
static const tlv_cast_< ie_network_qos, tlv4_< 0x10000105 > > tlv_ie_network_qos;
static const tlv_cast_< ie_network_data_rate, tlv4_< 0x10000106 > > tlv_ie_network_data_rate;
static const tlv_cast_< ie_net_regulat_domain, tlv4_< 0x10000107 > > tlv_ie_net_regulat_domain;
static const tlv_cast_< ie_net_frequency_bands, tlv4_< 0x10000108 > > tlv_ie_net_frequency_bands;
static const tlv_cast_< ie_net_ip_cfg_methods, tlv4_< 0x10000109 > > tlv_ie_net_ip_cfg_methods;
static const tlv_cast_< ie_net_capabilities, tlv4_< 0x1000010A > > tlv_ie_net_capabilities;
static const tlv_cast_< ie_net_supported_lcp, tlv4_< 0x1000010B > > tlv_ie_net_supported_lcp;
static const tlv_cast_< ie_net_mob_mgmt_prot, tlv4_< 0x1000010C > > tlv_ie_net_mob_mgmt_prot;
static const tlv_cast_< ie_net_emserv_proxy, tlv4_< 0x1000010D > > tlv_ie_net_emserv_proxy;
static const tlv_cast_< ie_net_ims_proxy_cscf, tlv4_< 0x1000010E > > tlv_ie_net_ims_proxy_cscf;
static const tlv_cast_< ie_net_mobile_network, tlv4_< 0x1000010F > > tlv_ie_net_mobile_network;
static const tlv_cast_< ie_poa_link_addr, tlv4_< 0x10000200 > > tlv_ie_poa_link_addr;
static const tlv_cast_< ie_poa_location, tlv4_< 0x10000201 > > tlv_ie_poa_location;
static const tlv_cast_< ie_poa_channel_range, tlv4_< 0x10000202 > > tlv_ie_poa_channel_range;
static const tlv_cast_< ie_poa_system_info, tlv4_< 0x10000203 > > tlv_ie_poa_system_info;
static const tlv_cast_< ie_poa_subnet_info, tlv4_< 0x10000204 > > tlv_ie_poa_subnet_info;
static const tlv_cast_< ie_poa_ip_addr, tlv4_< 0x10000205 > > tlv_ie_poa_ip_addr;
static const tlv_cast_< ie_container_poa, tlv4_< 0x10000302 > > tlv_ie_container_poa;
static const tlv_cast_< ie_container_network, tlv4_< 0x10000301 > > tlv_ie_container_network;
static const tlv_cast_< ie_container_list_of_networks, tlv4_< 0x10000300 > > tlv_ie_container_list_of_networks;
}
}
namespace odtone {
namespace mih {
struct threshold;
struct link_action;
struct link_id;
class link_tuple_id;
struct link_scan_rsp;
struct link_action_req;
struct link_action_rsp;
struct link_det_cfg;
struct link_status_req;
struct link_param;
struct link_param_report;
struct link_cfg_param;
struct link_cfg_status;
struct link_det_info;
struct link_poa_list;
struct link_status_rsp;
struct status_rsp;
enum op_mode_enum;
enum dev_states_req_enum;
enum link_states_req_enum;
enum link_ac_result_enum;
enum link_ac_type_enum;
enum link_ac_attr_enum;
enum th_action_enum;
enum link_type_enum;
enum link_dn_reason_enum;
enum link_gd_reason_enum;
enum link_mihcap_flag_enum;
enum link_param_gen_enum;
enum link_param_gg_enum;
enum link_param_edge_enum;
enum link_param_eth_enum;
enum link_param_802_11_enum;
enum link_param_c2k_enum;
enum link_param_ffd_enum;
enum link_param_hrpd_enum;
enum link_param_802_16_enum;
enum link_param_802_20_enum;
enum link_param_802_22_enum;
enum link_evt_list_enum;
enum link_cmd_list_enum;
enum link_desc_req_enum;
enum net_caps_enum;
typedef uint8 batt_level;
typedef uint8 num_cos;
typedef uint8 num_queue;
typedef uint16 channel_id;
typedef bool config_status;
typedef octet_string device_info;
typedef uint16 link_ac_ex_time;
typedef boost::variant< sint8, percentage > sig_strength;
typedef bool link_res_status;
typedef enumeration< op_mode_enum > op_mode;
typedef boost::variant< op_mode, channel_id > link_states_rsp;
typedef std::vector< link_states_rsp > link_states_rsp_list;
typedef boost::variant< num_cos, num_queue > link_desc_rsp;
typedef std::vector< link_desc_rsp > link_desc_rsp_list;
typedef bitmap< 16, dev_states_req_enum > dev_states_req;
typedef boost::variant< device_info, batt_level > dev_states_rsp;
typedef std::vector< dev_states_rsp > dev_states_rsp_list;
typedef bitmap< 16, link_states_req_enum > link_states_req;
typedef std::vector< link_states_req > link_states_req_list;
typedef enumeration< link_ac_result_enum > link_ac_result;
typedef enumeration< link_ac_type_enum > link_ac_type;
typedef bitmap< 8, link_ac_attr_enum > link_ac_attr;
typedef enumeration< th_action_enum > th_action;
typedef enumeration< link_type_enum > link_type;
typedef enumeration< link_dn_reason_enum > link_dn_reason;
typedef enumeration< link_gd_reason_enum > link_gd_reason;
typedef bitmap< 8, link_mihcap_flag_enum > link_mihcap_flag;
typedef enumeration< link_param_gen_enum > link_param_gen;
typedef uint8 link_param_qos;
typedef enumeration< link_param_gg_enum > link_param_gg;
typedef enumeration< link_param_edge_enum > link_param_edge;
typedef enumeration< link_param_eth_enum > link_param_eth;
typedef enumeration< link_param_802_11_enum > link_param_802_11;
typedef enumeration< link_param_c2k_enum > link_param_c2k;
typedef enumeration< link_param_ffd_enum > link_param_ffd;
typedef enumeration< link_param_hrpd_enum > link_param_hrpd;
typedef enumeration< link_param_802_16_enum > link_param_802_16;
typedef enumeration< link_param_802_20_enum > link_param_802_20;
typedef enumeration< link_param_802_22_enum > link_param_802_22;
typedef std::vector< link_id > link_id_list;
typedef std::vector< link_scan_rsp > link_scan_rsp_list;
typedef std::vector< link_action_req > link_action_list;
typedef std::vector< link_action_rsp > link_action_rsp_list;
typedef bitmap< 32, link_evt_list_enum > link_evt_list;
typedef bitmap< 32, link_cmd_list_enum > link_cmd_list;
typedef boost::variant< link_param_gen, link_param_qos, link_param_gg, link_param_edge, link_param_eth, link_param_802_11, link_param_c2k, link_param_ffd, link_param_hrpd, link_param_802_16, link_param_802_20, link_param_802_22 > link_param_type;
typedef std::vector< link_param_type > link_param_type_list;
typedef bitmap< 16, link_desc_req_enum > link_desc_req;
typedef uint16 link_param_val;
typedef std::vector< link_param > link_param_list;
typedef std::vector< link_param_report > link_param_rpt_list;
typedef std::vector< link_cfg_param > link_cfg_param_list;
typedef std::vector< link_cfg_status > link_cfg_status_list;
typedef bitmap< 32, net_caps_enum > net_caps;
typedef std::vector< link_det_info > link_det_info_list;
typedef std::vector< link_poa_list > list_of_link_poa_list;
typedef std::vector< link_status_rsp > link_status_rsp_list;
typedef std::vector< status_rsp > status_rsp_list;
}
}
namespace odtone {
namespace dns {
std::string parse_domain_name(const unsigned char *, int &);
std::string parse_string(const unsigned char *, int &);
uint16 parse_uint16(const unsigned char *, int &);
uint32 parse_uint32(const unsigned char *, int &);
std::vector< uint8 > parse_data(const unsigned char *, int &, int);
a_record parse_a_record(const unsigned char *, int, int);
aaaa_record parse_aaaa_record(const unsigned char *, int, int);
naptr_record parse_naptr_record(const unsigned char *, int, int);
srv_record parse_srv_record(const unsigned char *, int, int);
}
}
namespace odtone {
namespace net {
namespace ip {
class checksum;
}
}
}
namespace odtone {
namespace net {
namespace ip {
struct icmp;
}
}
}
namespace odtone {
namespace net {
namespace ip {
class icmp6_ra_packet;
}
}
}
namespace odtone {
namespace net {
namespace ip {
bool icmp_rs_parse(uchar * buffer, size_t length,
link::address_mac & source_link_layer);
}
}
}
namespace odtone {
namespace net {
namespace ip {
class option;
}
}
}
namespace odtone {
namespace net {
namespace link {
class address_mac;
}
}
}
namespace odtone {
namespace sap {
class sap;
}
}
namespace odtone {
std::string to_string_hex(const void *, size_t);
template<typename T> std::string to_string_hex(const T &);
uchar hex_to_int(uchar);
char const * ustr(char const *);
std::string const & ustr(std::string const &);
}