diff options
author | Davide Garberi <dade.garberi@gmail.com> | 2019-01-19 20:33:01 +0100 |
---|---|---|
committer | Davide Garberi <dade.garberi@gmail.com> | 2019-01-26 13:56:25 +0100 |
commit | 53a1ffbf112cf677a1fa6168d34d47b39a59aa1b (patch) | |
tree | 80c9ff5fc08f59cb4feb2f11bd0f1c1540cab354 /data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h | |
parent | 5e5938dad03868d1fc1615f809ec1dda2aaf55ee (diff) |
msm8996-common: Use common data-ipa-cfg-mgr
* Located at vendor/qcom/opensource/data-ipa-cfg-mgr
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
Change-Id: I6b1f1a034b8e4cafe5ae28a16327cc4e2ec6afa3
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
Diffstat (limited to 'data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h')
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h | 303 |
1 files changed, 0 insertions, 303 deletions
diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h deleted file mode 100644 index 64c00ed..0000000 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h +++ /dev/null @@ -1,303 +0,0 @@ -/* -Copyright (c) 2013, The Linux Foundation. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of The Linux Foundation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -/*! - @file - IPACM_Xml.h - - @brief - This file implements the XML specific parsing functionality. - - @Author - Skylar Chang/Shihuan Liu - -*/ -#ifndef IPACM_XML_H -#define IPACM_XML_H - -#include <linux/msm_ipa.h> -#include "IPACM_Defs.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <arpa/inet.h> -#include <stdint.h> -#include <libxml/parser.h> -#include <libxml/tree.h> -#ifdef __cplusplus -extern "C" { -#endif - - -#define IPACM_ASSERT(a) \ -if (!(a)) { \ - fprintf(stderr, "%s, %d: assertion (a) failed!", \ - __FILE__, \ - __LINE__); \ - abort(); \ -} - -/* Max allowed size of the XML file (2 MB) */ -#define IPACM_XML_MAX_FILESIZE (2 << 20) -#define IPACM_MAX_FIREWALL_ENTRIES 50 -#define IPACM_IPV6_ADDR_LEN 16 - -/* Defines for clipping space or space & quotes (single, double) */ -#define IPACM_XML_CLIP_SPACE " " -#define IPACM_XML_CLIP_SPACE_QUOTES " '\"" - -#define MAX_XML_STR_LEN 120 - -/* IPA Config Entries */ -#define system_TAG "system" -#define ODU_TAG "ODUCFG" -#define ODUMODE_TAG "OduMode" -#define ODUEMBMS_OFFLOAD_TAG "eMBMS_offload" -#define ODU_ROUTER_TAG "router" -#define ODU_BRIDGE_TAG "bridge" -#define IPACMCFG_TAG "IPACM" -#define IPACMIFACECFG_TAG "IPACMIface" -#define IFACE_TAG "Iface" -#define NAME_TAG "Name" -#define CATEGORY_TAG "Category" -#define MODE_TAG "Mode" -#define IPACMPRIVATESUBNETCFG_TAG "IPACMPrivateSubnet" -#define SUBNET_TAG "Subnet" -#define SUBNETADDRESS_TAG "SubnetAddress" -#define SUBNETMASK_TAG "SubnetMask" -#define WANIF_TAG "WAN" -#define LANIF_TAG "LAN" -#define WLANIF_TAG "WLAN" -#define WLAN_FULL_MODE_TAG "full" -#define WLAN_INTERNET_MODE_TAG "internet" -#define WLAN_MODE_TAG "WlanMode" -#define VIRTUALIF_TAG "VIRTUAL" -#define UNKNOWNIF_TAG "UNKNOWN" -#define ODUIF_TAG "ODU" -#define EMBMSIF_TAG "EMBMS" -#define ETHIF_TAG "ETH" -#define IFACE_ROUTER_MODE_TAG "ROUTER" -#define IFACE_BRIDGE_MODE_TAG "BRIDGE" -#define IPACMALG_TAG "IPACMALG" -#define ALG_TAG "ALG" -#define Protocol_TAG "Protocol" -#define Port_TAG "Port" -#define TCP_PROTOCOL_TAG "TCP" -#define UDP_PROTOCOL_TAG "UDP" - -/* FIREWALL Config Entries */ -#define Firewall_TAG "Firewall" -#define MobileAPFirewallCfg_TAG "MobileAPFirewallCfg" -#define FirewallEnabled_TAG "FirewallEnabled" -#define FirewallPktsAllowed_TAG "FirewallPktsAllowed" - -#define IPFamily_TAG "IPFamily" -#define IPV4SourceAddress_TAG "IPV4SourceAddress" -#define IPV4SourceIPAddress_TAG "IPV4SourceIPAddress" -#define IPV4SourceSubnetMask_TAG "IPV4SourceSubnetMask" - -#define IPV4DestinationAddress_TAG "IPV4DestinationAddress" -#define IPV4DestinationIPAddress_TAG "IPV4DestinationIPAddress" -#define IPV4DestinationSubnetMask_TAG "IPV4DestinationSubnetMask" - -#define IPV4TypeOfService_TAG "IPV4TypeOfService" -#define TOSValue_TAG "TOSValue" -#define TOSMask_TAG "TOSMask" - -#define IPV4NextHeaderProtocol_TAG "IPV4NextHeaderProtocol" - -#define IPV6SourceAddress_TAG "IPV6SourceAddress" -#define IPV6SourceIPAddress_TAG "IPV6SourceIPAddress" -#define IPV6SourcePrefix_TAG "IPV6SourcePrefix" - -#define IPV6DestinationAddress_TAG "IPV6DestinationAddress" -#define IPV6DestinationIPAddress_TAG "IPV6DestinationIPAddress" -#define IPV6DestinationPrefix_TAG "IPV6DestinationPrefix" - -#define IPV6TrafficClass_TAG "IPV6TrafficClass" -#define TrfClsValue_TAG "TrfClsValue" -#define TrfClsMask_TAG "TrfClsMask" - -#define IPV6NextHeaderProtocol_TAG "IPV6NextHeaderProtocol" - -#define TCPSource_TAG "TCPSource" -#define TCPSourcePort_TAG "TCPSourcePort" -#define TCPSourceRange_TAG "TCPSourceRange" - -#define TCPDestination_TAG "TCPDestination" -#define TCPDestinationPort_TAG "TCPDestinationPort" -#define TCPDestinationRange_TAG "TCPDestinationRange" - -#define UDPSource_TAG "UDPSource" -#define UDPSourcePort_TAG "UDPSourcePort" -#define UDPSourceRange_TAG "UDPSourceRange" - -#define UDPDestination_TAG "UDPDestination" -#define UDPDestinationPort_TAG "UDPDestinationPort" -#define UDPDestinationRange_TAG "UDPDestinationRange" - -#define ICMPType_TAG "ICMPType" -#define ICMPCode_TAG "ICMPCode" - -#define ESP_TAG "ESP" -#define ESPSPI_TAG "ESPSPI" - -#define TCP_UDPSource_TAG "TCP_UDPSource" -#define TCP_UDPSourcePort_TAG "TCP_UDPSourcePort" -#define TCP_UDPSourceRange_TAG "TCP_UDPSourceRange" - -#define TCP_UDPDestination_TAG "TCP_UDPDestination" -#define TCP_UDPDestinationPort_TAG "TCP_UDPDestinationPort" -#define TCP_UDPDestinationRange_TAG "TCP_UDPDestinationRange" - -#define IPACMNat_TAG "IPACMNAT" -#define NAT_MaxEntries_TAG "MaxNatEntries" - -#define IP_PassthroughFlag_TAG "IPPassthroughFlag" -#define IP_PassthroughMode_TAG "IPPassthroughMode" - -/*--------------------------------------------------------------------------- - IP protocol numbers - use in dss_socket() to identify protocols. - Also contains the extension header types for IPv6. ----------------------------------------------------------------------------*/ -typedef enum -{ - IPACM_FIREWALL_IPV6_BASE_HDR = 4, /* IPv6 Base Header */ - IPACM_FIREWALL_IPPROTO_HOP_BY_HOP_OPT_HDR = 0, /* Hop-by-hop Option Header */ - IPACM_FIREWALL_IPPROTO_ICMP = 1, /* ICMP protocol */ - IPACM_FIREWALL_IPPROTO_IGMP = 2, /* IGMP protocol */ - IPACM_FIREWALL_IPPROTO_IP = IPACM_FIREWALL_IPV6_BASE_HDR, /* IPv4 */ - IPACM_FIREWALL_IPPROTO_TCP = 6, /* TCP Protocol */ - IPACM_FIREWALL_IPPROTO_UDP = 17, /* UDP Protocol */ - IPACM_FIREWALL_IPPROTO_IPV6 = 41, /* IPv6 */ - IPACM_FIREWALL_IPPROTO_ROUTING_HDR = 43, /* Routing Header */ - IPACM_FIREWALL_IPPROTO_FRAG_HDR = 44, /* Fragmentation Header */ - IPACM_FIREWALL_IPPROTO_GRE = 47, /* GRE Protocol */ - IPACM_FIREWALL_IPPROTO_ESP = 50, /* ESP Protocol */ - IPACM_FIREWALL_IPPROTO_AH = 51, /* Authentication Header */ - IPACM_FIREWALL_IPPROTO_ICMP6 = 58, /* ICMPv6 */ - IPACM_FIREWALL_NO_NEXT_HDR = 59, /* No Next Header for IPv6 */ - IPACM_FIREWALL_IPPROTO_DEST_OPT_HDR = 60, /* Destination Options Header */ - IPACM_FIREWALL_IPPROTO_MOBILITY_HDR = 135, /* Mobility Header */ - IPACM_FIREWALL_IPPROTO_TCP_UDP = 253 /* Unspecified protocol used for IPACM */ -} ipacm_firewall_ip_protocol_enum_type; - -/* define as mobileap firewall rule format*/ -typedef enum -{ - IP_V4 = 4, - IP_V6 = 6 -} firewall_ip_version_enum; - -/*--------------------------------------------------------------------------- - Extended FireWall Entry Configuration. ----------------------------------------------------------------------------*/ -typedef struct -{ - struct ipa_rule_attrib attrib; - firewall_ip_version_enum ip_vsn; -} IPACM_extd_firewall_entry_conf_t; - - -/*--------------------------------------------------------------------------- - Extended FireWall configuration. ----------------------------------------------------------------------------*/ -typedef union -{ - IPACM_extd_firewall_entry_conf_t extd_firewall_entry; -} IPACM_extd_firewall_conf_t; - - -typedef struct -{ - char firewall_config_file[IPA_MAX_FILE_LEN]; - uint8_t num_extd_firewall_entries; - IPACM_extd_firewall_entry_conf_t extd_firewall_entries[IPACM_MAX_FIREWALL_ENTRIES]; - bool rule_action_accept; - bool firewall_enable; -} IPACM_firewall_conf_t; - - - -typedef struct -{ - uint8_t num_iface_entries; - ipa_ifi_dev_name_t iface_entries[IPA_MAX_IFACE_ENTRIES]; -} ipacm_iface_conf_t; - -typedef struct -{ - uint8_t num_subnet_entries; - ipa_private_subnet private_subnet_entries[IPA_MAX_PRIVATE_SUBNET_ENTRIES]; -} ipacm_private_subnet_conf_t; - -typedef struct -{ - uint8_t protocol; - uint16_t port; -} ipacm_alg; - -typedef struct -{ - uint8_t num_alg_entries; - ipacm_alg alg_entries[IPA_MAX_ALG_ENTRIES]; -} ipacm_alg_conf_t; - - -typedef struct _IPACM_conf_t -{ - ipacm_iface_conf_t iface_config; - ipacm_private_subnet_conf_t private_subnet_config; - ipacm_alg_conf_t alg_config; - int nat_max_entries; - bool odu_enable; - bool router_mode_enable; - bool odu_embms_enable; - int num_wlan_guest_ap; - bool ip_passthrough_mode; -} IPACM_conf_t; - -/* This function read IPACM XML configuration*/ -int ipacm_read_cfg_xml -( - char *xml_file, /* Filename and path */ - IPACM_conf_t *config /* Mobile AP config data */ -); - -/* This function reads QCMAP Firewall XML and store in IPACM Firewall stucture */ -int IPACM_read_firewall_xml -( - char *xml_file, /* Filename and path */ - IPACM_firewall_conf_t *config /* Mobile AP config data */ -); - -#ifdef __cplusplus -} -#endif - -#endif //IPACM_XML |