| |
| /*! |
| * @file coreconfigurator.h |
| * @brief |
| * @author |
| * @sa coreconfigurator.c |
| * @date 1 Mar 2012 |
| * @version 1.0 |
| */ |
| |
| |
| #ifndef CORECONFIGURATOR_H |
| #define CORECONFIGURATOR_H |
| |
| #include "wilc_wlan_if.h" |
| /*****************************************************************************/ |
| /* Constants */ |
| /*****************************************************************************/ |
| /* Number of WID Options Supported */ |
| #define NUM_BASIC_SWITCHES 45 |
| #define NUM_FHSS_SWITCHES 0 |
| |
| #define NUM_RSSI 5 |
| |
| #ifdef MAC_802_11N |
| #define NUM_11N_BASIC_SWITCHES 25 |
| #define NUM_11N_HUT_SWITCHES 47 |
| #else /* MAC_802_11N */ |
| #define NUM_11N_BASIC_SWITCHES 0 |
| #define NUM_11N_HUT_SWITCHES 0 |
| #endif /* MAC_802_11N */ |
| |
| extern u16 g_num_total_switches; |
| |
| #define MAC_HDR_LEN 24 /* No Address4 - non-ESS */ |
| #define MAX_SSID_LEN 33 |
| #define FCS_LEN 4 |
| #define TIME_STAMP_LEN 8 |
| #define BEACON_INTERVAL_LEN 2 |
| #define CAP_INFO_LEN 2 |
| #define STATUS_CODE_LEN 2 |
| #define AID_LEN 2 |
| #define IE_HDR_LEN 2 |
| |
| |
| /* Operating Mode: SET */ |
| #define SET_CFG 0 |
| /* Operating Mode: GET */ |
| #define GET_CFG 1 |
| |
| #define MAX_PACKET_BUFF_SIZE 1596 |
| |
| #define MAX_STRING_LEN 256 |
| #define MAX_SURVEY_RESULT_FRAG_SIZE MAX_STRING_LEN |
| #define SURVEY_RESULT_LENGTH 44 |
| #define MAX_ASSOC_RESP_FRAME_SIZE MAX_STRING_LEN |
| |
| #define STATUS_MSG_LEN 12 |
| #define MAC_CONNECTED 1 |
| #define MAC_DISCONNECTED 0 |
| |
| |
| |
| /*****************************************************************************/ |
| /* Function Macros */ |
| /*****************************************************************************/ |
| #define MAKE_WORD16(lsb, msb) ((((u16)(msb) << 8) & 0xFF00) | (lsb)) |
| #define MAKE_WORD32(lsw, msw) ((((u32)(msw) << 16) & 0xFFFF0000) | (lsw)) |
| |
| |
| /*****************************************************************************/ |
| /* Type Definitions */ |
| /*****************************************************************************/ |
| /* WID Data Types */ |
| #if 0 |
| typedef enum { |
| WID_CHAR = 0, |
| WID_SHORT = 1, |
| WID_INT = 2, |
| WID_STR = 3, |
| WID_ADR = 4, |
| WID_BIN = 5, |
| WID_IP = 6, |
| WID_UNDEF = 7, |
| WID_TYPE_FORCE_32BIT = 0xFFFFFFFF |
| } tenuWIDtype; |
| |
| /* WLAN Identifiers */ |
| typedef enum { |
| WID_NIL = -1, |
| /* EMAC Character WID list */ |
| WID_BSS_TYPE = 0x0000, |
| WID_CURRENT_TX_RATE = 0x0001, |
| WID_CURRENT_CHANNEL = 0x0002, |
| WID_PREAMBLE = 0x0003, |
| WID_11G_OPERATING_MODE = 0x0004, |
| WID_STATUS = 0x0005, |
| WID_11G_PROT_MECH = 0x0006, |
| WID_SCAN_TYPE = 0x0007, |
| WID_PRIVACY_INVOKED = 0x0008, |
| WID_KEY_ID = 0x0009, |
| WID_QOS_ENABLE = 0x000A, |
| WID_POWER_MANAGEMENT = 0x000B, |
| WID_11I_MODE = 0x000C, |
| WID_AUTH_TYPE = 0x000D, |
| WID_SITE_SURVEY = 0x000E, |
| WID_LISTEN_INTERVAL = 0x000F, |
| WID_DTIM_PERIOD = 0x0010, |
| WID_ACK_POLICY = 0x0011, |
| WID_RESET = 0x0012, |
| WID_PCF_MODE = 0x0013, |
| WID_CFP_PERIOD = 0x0014, |
| WID_BCAST_SSID = 0x0015, |
| WID_PHY_TEST_PATTERN = 0x0016, |
| WID_DISCONNECT = 0x0016, |
| WID_READ_ADDR_SDRAM = 0x0017, |
| WID_TX_POWER_LEVEL_11A = 0x0018, |
| WID_REKEY_POLICY = 0x0019, |
| WID_SHORT_SLOT_ALLOWED = 0x001A, |
| WID_PHY_ACTIVE_REG = 0x001B, |
| WID_PHY_ACTIVE_REG_VAL = 0x001C, |
| WID_TX_POWER_LEVEL_11B = 0x001D, |
| WID_START_SCAN_REQ = 0x001E, |
| WID_RSSI = 0x001F, |
| WID_JOIN_REQ = 0x0020, |
| WID_ANTENNA_SELECTION = 0x0021, |
| WID_USER_CONTROL_ON_TX_POWER = 0x0027, |
| WID_MEMORY_ACCESS_8BIT = 0x0029, |
| WID_UAPSD_SUPPORT_AP = 0x002A, |
| WID_CURRENT_MAC_STATUS = 0x0031, |
| WID_AUTO_RX_SENSITIVITY = 0x0032, |
| WID_DATAFLOW_CONTROL = 0x0033, |
| WID_SCAN_FILTER = 0x0036, |
| WID_LINK_LOSS_THRESHOLD = 0x0037, |
| WID_AUTORATE_TYPE = 0x0038, |
| WID_CCA_THRESHOLD = 0x0039, |
| WID_802_11H_DFS_MODE = 0x003B, |
| WID_802_11H_TPC_MODE = 0x003C, |
| WID_DEVICE_READY = 0x003D, |
| WID_PM_NULL_FRAME_INTERVAL = 0x003E, |
| WID_PM_ACTIVITY_TIMER = 0x003F, |
| WID_PM_NULL_FRAME_WAIT_ENABLE = 0x0040, |
| WID_SCAN_WAIT_TIME = 0x0041, |
| WID_WSC_IE_EN = 0x0042, |
| WID_WPS_START = 0x0043, |
| WID_WPS_DEV_MODE = 0x0044, |
| WID_BT_COEXISTENCE = 0x0050, |
| WID_TRACKING_ROAMING = 0x0070, |
| WID_NUM_PKTS_FOR_RSSI_AVG = 0x0071, |
| WID_FHSS_SCAN_CHAN_INDEX = 0x0072, |
| WID_FHSS_SCAN_STEP_INDEX = 0x0073, |
| |
| /* NMAC Character WID list */ |
| WID_11N_PROT_MECH = 0x0080, |
| WID_11N_ERP_PROT_TYPE = 0x0081, |
| WID_11N_ENABLE = 0x0082, |
| WID_11N_OPERATING_MODE = 0x0083, |
| WID_11N_OBSS_NONHT_DETECTION = 0x0084, |
| WID_11N_HT_PROT_TYPE = 0x0085, |
| WID_11N_RIFS_PROT_ENABLE = 0x0086, |
| WID_11N_SMPS_MODE = 0x0087, |
| WID_11N_CURRENT_TX_MCS = 0x0088, |
| WID_11N_PRINT_STATS = 0x0089, |
| WID_HUT_FCS_CORRUPT_MODE = 0x008A, |
| WID_HUT_RESTART = 0x008B, |
| WID_HUT_TX_FORMAT = 0x008C, |
| WID_11N_SHORT_GI_20MHZ_ENABLE = 0x008D, |
| WID_HUT_BANDWIDTH = 0x008E, |
| WID_HUT_OP_BAND = 0x008F, |
| WID_HUT_STBC = 0x0090, |
| WID_HUT_ESS = 0x0091, |
| WID_HUT_ANTSET = 0x0092, |
| WID_HUT_HT_OP_MODE = 0x0093, |
| WID_HUT_RIFS_MODE = 0x0094, |
| WID_HUT_SMOOTHING_REC = 0x0095, |
| WID_HUT_SOUNDING_PKT = 0x0096, |
| WID_HUT_HT_CODING = 0x0097, |
| WID_HUT_TEST_DIR = 0x0098, |
| WID_HUT_CAPTURE_MODE = 0x0099, |
| WID_HUT_PHY_TEST_MODE = 0x009A, |
| WID_HUT_PHY_TEST_RATE_HI = 0x009B, |
| WID_HUT_PHY_TEST_RATE_LO = 0x009C, |
| WID_HUT_DISABLE_RXQ_REPLENISH = 0x009D, |
| WID_HUT_KEY_ORIGIN = 0x009E, |
| WID_HUT_BCST_PERCENT = 0x009F, |
| WID_HUT_GROUP_CIPHER_TYPE = 0x00A0, |
| WID_TX_ABORT_CONFIG = 0x00A1, |
| WID_HOST_DATA_IF_TYPE = 0x00A2, |
| WID_HOST_CONFIG_IF_TYPE = 0x00A3, |
| WID_HUT_TSF_TEST_MODE = 0x00A4, |
| WID_HUT_TSSI_VALUE = 0x00A5, |
| WID_HUT_PKT_TSSI_VALUE = 0x00A5, |
| WID_REG_TSSI_11B_VALUE = 0x00A6, |
| WID_REG_TSSI_11G_VALUE = 0x00A7, |
| WID_REG_TSSI_11N_VALUE = 0x00A8, |
| WID_TX_CALIBRATION = 0x00A9, |
| WID_DSCR_TSSI_11B_VALUE = 0x00AA, |
| WID_DSCR_TSSI_11G_VALUE = 0x00AB, |
| WID_DSCR_TSSI_11N_VALUE = 0x00AC, |
| WID_HUT_RSSI_EX = 0x00AD, |
| WID_HUT_ADJ_RSSI_EX = 0x00AE, |
| WID_11N_IMMEDIATE_BA_ENABLED = 0x00AF, |
| WID_11N_TXOP_PROT_DISABLE = 0x00B0, |
| WID_TX_POWER_LEVEL_11N = 0x00B1, |
| WID_HUT_MGMT_PERCENT = 0x00B3, |
| WID_HUT_MGMT_BCST_PERCENT = 0x00B4, |
| WID_HUT_MGMT_ALLOW_HT = 0x00B5, |
| WID_HUT_UC_MGMT_TYPE = 0x00B6, |
| WID_HUT_BC_MGMT_TYPE = 0x00B7, |
| WID_HUT_11W_MFP_REQUIRED_TX = 0x00B8, |
| WID_HUT_11W_MFP_PEER_CAPABLE = 0x00B9, |
| WID_HUT_11W_TX_IGTK_ID = 0x00BA, |
| WID_11W_ENABLE = 0x00BB, |
| WID_11W_MGMT_PROT_REQ = 0x00BC, |
| WID_USER_SEC_CHANNEL_OFFSET = 0x00C0, |
| WID_2040_COEXISTENCE = 0x00C1, |
| WID_HUT_FC_TXOP_MOD = 0x00C2, |
| WID_HUT_FC_PROT_TYPE = 0x00C3, |
| WID_HUT_SEC_CCA_ASSERT = 0x00C4, |
| WID_2040_ENABLE = 0x00C5, |
| WID_2040_CURR_CHANNEL_OFFSET = 0x00C6, |
| WID_2040_40MHZ_INTOLERANT = 0x00C7, |
| |
| |
| /* Custom Character WID list */ |
| WID_POWER_SAVE = 0x0100, |
| WID_WAKE_STATUS = 0x0101, |
| WID_WAKE_CONTROL = 0x0102, |
| WID_CCA_BUSY_START = 0x0103, |
| |
| /* EMAC Short WID list */ |
| WID_RTS_THRESHOLD = 0x1000, |
| WID_FRAG_THRESHOLD = 0x1001, |
| WID_SHORT_RETRY_LIMIT = 0x1002, |
| WID_LONG_RETRY_LIMIT = 0x1003, |
| WID_CFP_MAX_DUR = 0x1004, |
| WID_PHY_TEST_FRAME_LEN = 0x1005, |
| WID_BEACON_INTERVAL = 0x1006, |
| WID_MEMORY_ACCESS_16BIT = 0x1008, |
| WID_RX_SENSE = 0x100B, |
| WID_ACTIVE_SCAN_TIME = 0x100C, |
| WID_PASSIVE_SCAN_TIME = 0x100D, |
| WID_SITE_SURVEY_SCAN_TIME = 0x100E, |
| WID_JOIN_START_TIMEOUT = 0x100F, |
| WID_AUTH_TIMEOUT = 0x1010, |
| WID_ASOC_TIMEOUT = 0x1011, |
| WID_11I_PROTOCOL_TIMEOUT = 0x1012, |
| WID_EAPOL_RESPONSE_TIMEOUT = 0x1013, |
| WID_WPS_PASS_ID = 0x1017, |
| WID_WPS_CONFIG_METHOD = 0x1018, |
| WID_FHSS_INIT_SCAN_TIME = 0x1070, |
| WID_FHSS_ROAM_SCAN_TIME = 0x1071, |
| |
| /* NMAC Short WID list */ |
| WID_11N_RF_REG_VAL = 0x1080, |
| WID_HUT_FRAME_LEN = 0x1081, |
| WID_HUT_TXOP_LIMIT = 0x1082, |
| WID_HUT_SIG_QUAL_AVG = 0x1083, |
| WID_HUT_SIG_QUAL_AVG_CNT = 0x1084, |
| WID_11N_SIG_QUAL_VAL = 0x1085, |
| WID_HUT_RSSI_EX_COUNT = 0x1086, |
| WID_HUT_UC_MGMT_FRAME_LEN = 0x1088, |
| WID_HUT_BC_MGMT_FRAME_LEN = 0x1089, |
| |
| /* Custom Short WID list */ |
| |
| WID_CCA_BUSY_STATUS = 0x1100, |
| |
| /* EMAC Integer WID list */ |
| WID_FAILED_COUNT = 0x2000, |
| WID_RETRY_COUNT = 0x2001, |
| WID_MULTIPLE_RETRY_COUNT = 0x2002, |
| WID_FRAME_DUPLICATE_COUNT = 0x2003, |
| WID_ACK_FAILURE_COUNT = 0x2004, |
| WID_RECEIVED_FRAGMENT_COUNT = 0x2005, |
| WID_MCAST_RECEIVED_FRAME_COUNT = 0x2006, |
| WID_FCS_ERROR_COUNT = 0x2007, |
| WID_SUCCESS_FRAME_COUNT = 0x2008, |
| WID_PHY_TEST_PKT_CNT = 0x2009, |
| WID_HUT_TX_COUNT = 0x200A, |
| WID_TX_FRAGMENT_COUNT = 0x200B, |
| WID_TX_MULTICAST_FRAME_COUNT = 0x200C, |
| WID_RTS_SUCCESS_COUNT = 0x200D, |
| WID_RTS_FAILURE_COUNT = 0x200E, |
| WID_WEP_UNDECRYPTABLE_COUNT = 0x200F, |
| WID_REKEY_PERIOD = 0x2010, |
| WID_REKEY_PACKET_COUNT = 0x2011, |
| WID_1X_SERV_ADDR = 0x2012, |
| WID_STACK_IP_ADDR = 0x2013, |
| WID_STACK_NETMASK_ADDR = 0x2014, |
| WID_HW_RX_COUNT = 0x2015, |
| WID_MEMORY_ADDRESS = 0x201E, |
| WID_MEMORY_ACCESS_32BIT = 0x201F, |
| WID_RF_REG_VAL = 0x2021, |
| WID_FIRMWARE_INFO = 0x2023, |
| WID_DEV_OS_VERSION = 0x2025, |
| WID_ROAM_RSSI_THESHOLDS = 0x2070, |
| WID_TRACK_INTERVAL_SEC = 0x2071, |
| WID_FHSS_HOPPING_PARAMS = 0x2072, |
| WID_FHSS_HOP_DWELL_TIME = 0x2073, |
| |
| /* NMAC Integer WID list */ |
| WID_11N_PHY_ACTIVE_REG_VAL = 0x2080, |
| WID_HUT_NUM_TX_PKTS = 0x2081, |
| WID_HUT_TX_TIME_TAKEN = 0x2082, |
| WID_HUT_TX_TEST_TIME = 0x2083, |
| WID_HUT_LOG_INTERVAL = 0x2084, |
| |
| /* EMAC String WID list */ |
| WID_SSID = 0x3000, |
| WID_FIRMWARE_VERSION = 0x3001, |
| WID_OPERATIONAL_RATE_SET = 0x3002, |
| WID_BSSID = 0x3003, |
| #if 0 |
| WID_WEP_KEY_VALUE0 = 0x3004, |
| #endif |
| WID_11I_PSK = 0x3008, |
| WID_11E_P_ACTION_REQ = 0x3009, |
| WID_1X_KEY = 0x300A, |
| WID_HARDWARE_VERSION = 0x300B, |
| WID_MAC_ADDR = 0x300C, |
| WID_HUT_DEST_ADDR = 0x300D, |
| /*WID_HUT_STATS = 0x300E,*/ |
| WID_PHY_VERSION = 0x300F, |
| WID_SUPP_USERNAME = 0x3010, |
| WID_SUPP_PASSWORD = 0x3011, |
| WID_SITE_SURVEY_RESULTS = 0x3012, |
| WID_RX_POWER_LEVEL = 0x3013, |
| WID_MANUFACTURER = 0x3026, /*Added for CAPI tool */ |
| WID_MODEL_NAME = 0x3027, /*Added for CAPI tool */ |
| WID_MODEL_NUM = 0x3028, /*Added for CAPI tool */ |
| WID_DEVICE_NAME = 0x3029, /*Added for CAPI tool */ |
| |
| WID_ASSOC_RES_INFO = 0x3020, |
| |
| /* NMAC String WID list */ |
| WID_11N_P_ACTION_REQ = 0x3080, |
| WID_HUT_TEST_ID = 0x3081, |
| WID_PMKID_INFO = 0x3082, |
| |
| /* Custom String WID list */ |
| WID_FLASH_DATA = 0x3100, |
| WID_EEPROM_DATA = 0x3101, |
| WID_SERIAL_NUMBER = 0x3102, |
| |
| /* EMAC Binary WID list */ |
| WID_UAPSD_CONFIG = 0x4001, |
| WID_UAPSD_STATUS = 0x4002, |
| WID_AC_PARAMS_AP = 0x4003, |
| WID_AC_PARAMS_STA = 0x4004, |
| WID_NEWORK_INFO = 0x4005, |
| WID_WPS_CRED_LIST = 0x4006, |
| WID_PRIM_DEV_TYPE = 0x4007, |
| WID_STA_JOIN_INFO = 0x4008, |
| WID_CONNECTED_STA_LIST = 0x4009, |
| |
| /* NMAC Binary WID list */ |
| WID_11N_AUTORATE_TABLE = 0x4080, |
| WID_HUT_TX_PATTERN = 0x4081, |
| WID_HUT_STATS = 0x4082, |
| WID_HUT_LOG_STATS = 0x4083, |
| |
| /*BugID_3746 WID to add IE to be added in next probe request*/ |
| WID_INFO_ELEMENT_PROBE = 0x4085, |
| /*BugID_3746 WID to add IE to be added in next associate request*/ |
| WID_INFO_ELEMENT_ASSOCIATE = 0x4086, |
| |
| /* Miscellaneous WIDs */ |
| WID_ALL = 0x7FFE, |
| WID_MAX = 0xFFFF |
| } tenuWIDid; |
| #endif |
| |
| /* Status Codes for Authentication and Association Frames */ |
| typedef enum { |
| SUCCESSFUL_STATUSCODE = 0, |
| UNSPEC_FAIL = 1, |
| UNSUP_CAP = 10, |
| REASOC_NO_ASOC = 11, |
| FAIL_OTHER = 12, |
| UNSUPT_ALG = 13, |
| AUTH_SEQ_FAIL = 14, |
| CHLNG_FAIL = 15, |
| AUTH_TIMEOUT = 16, |
| AP_FULL = 17, |
| UNSUP_RATE = 18, |
| SHORT_PREAMBLE_UNSUP = 19, |
| PBCC_UNSUP = 20, |
| CHANNEL_AGIL_UNSUP = 21, |
| SHORT_SLOT_UNSUP = 25, |
| OFDM_DSSS_UNSUP = 26, |
| CONNECT_STS_FORCE_16_BIT = 0xFFFF |
| } tenuConnectSts; |
| |
| typedef struct { |
| u16 u16WIDid; |
| tenuWIDtype enuWIDtype; |
| s32 s32ValueSize; |
| s8 *ps8WidVal; |
| |
| } tstrWID; |
| |
| typedef struct { |
| u8 u8Full; |
| u8 u8Index; |
| s8 as8RSSI[NUM_RSSI]; |
| } tstrRSSI; |
| /* This structure is used to support parsing of the received 'N' message */ |
| typedef struct { |
| s8 s8rssi; |
| u16 u16CapInfo; |
| u8 au8ssid[MAX_SSID_LEN]; |
| u8 u8SsidLen; |
| u8 au8bssid[6]; |
| u16 u16BeaconPeriod; |
| u8 u8DtimPeriod; |
| u8 u8channel; |
| unsigned long u32TimeRcvdInScanCached; /* of type unsigned long to be accepted by the linux kernel macro time_after() */ |
| unsigned long u32TimeRcvdInScan; |
| bool bNewNetwork; |
| #ifdef AGING_ALG |
| u8 u8Found; |
| #endif |
| #ifdef WILC_P2P |
| u32 u32Tsf; /* time-stamp [Low only 32 bit] */ |
| #endif |
| u8 *pu8IEs; |
| u16 u16IEsLen; |
| void *pJoinParams; |
| tstrRSSI strRssi; |
| u64 u64Tsf; /* time-stamp [Low and High 64 bit] */ |
| } tstrNetworkInfo; |
| |
| /* This structure is used to support parsing of the received Association Response frame */ |
| typedef struct { |
| u16 u16capability; |
| u16 u16ConnectStatus; |
| u16 u16AssocID; |
| u8 *pu8RespIEs; |
| u16 u16RespIEsLen; |
| } tstrConnectRespInfo; |
| |
| |
| typedef struct { |
| u8 au8bssid[6]; |
| u8 *pu8ReqIEs; |
| size_t ReqIEsLen; |
| u8 *pu8RespIEs; |
| u16 u16RespIEsLen; |
| u16 u16ConnectStatus; |
| } tstrConnectInfo; |
| |
| |
| |
| typedef struct { |
| u16 u16reason; |
| u8 *ie; |
| size_t ie_len; |
| } tstrDisconnectNotifInfo; |
| |
| #ifndef CONNECT_DIRECT |
| typedef struct wid_site_survey_reslts { |
| char SSID[MAX_SSID_LEN]; |
| u8 BssType; |
| u8 Channel; |
| u8 SecurityStatus; |
| u8 BSSID[6]; |
| char RxPower; |
| u8 Reserved; |
| |
| } wid_site_survey_reslts_s; |
| #endif |
| |
| extern s32 CoreConfiguratorInit(void); |
| extern s32 CoreConfiguratorDeInit(void); |
| |
| extern s32 SendConfigPkt(u8 u8Mode, tstrWID *pstrWIDs, |
| u32 u32WIDsCount, bool bRespRequired, u32 drvHandler); |
| extern s32 ParseNetworkInfo(u8 *pu8MsgBuffer, tstrNetworkInfo **ppstrNetworkInfo); |
| extern s32 DeallocateNetworkInfo(tstrNetworkInfo *pstrNetworkInfo); |
| |
| extern s32 ParseAssocRespInfo(u8 *pu8Buffer, u32 u32BufferLen, |
| tstrConnectRespInfo **ppstrConnectRespInfo); |
| extern s32 DeallocateAssocRespInfo(tstrConnectRespInfo *pstrConnectRespInfo); |
| |
| #ifndef CONNECT_DIRECT |
| extern s32 ParseSurveyResults(u8 ppu8RcvdSiteSurveyResults[][MAX_SURVEY_RESULT_FRAG_SIZE], |
| wid_site_survey_reslts_s **ppstrSurveyResults, u32 *pu32SurveyResultsCount); |
| extern s32 DeallocateSurveyResults(wid_site_survey_reslts_s *pstrSurveyResults); |
| #endif |
| |
| extern s32 SendRawPacket(s8 *pspacket, s32 s32PacketLen); |
| extern void NetworkInfoReceived(u8 *pu8Buffer, u32 u32Length); |
| void GnrlAsyncInfoReceived(u8 *pu8Buffer, u32 u32Length); |
| void host_int_ScanCompleteReceived(u8 *pu8Buffer, u32 u32Length); |
| |
| #endif |