1// 2// ASUS_Discovery.h 3// asus 4// 5// Created by Junda Txia on 11/22/10. 6// Copyright ASUSTek COMPUTER INC. 2011. All rights reserved. 7// 8 9#include <arpa/inet.h> //inet_addr function 10 11#include "netinet/in.h" 12 13#include "iboxcom.h" 14 15typedef struct _SearchRouterInfoStruct 16{ 17 char routerProductID[32]; 18 char routerIPAddress[32]; 19 char routerSubMask[32]; 20 unsigned char routerMacAddress[6]; 21 unsigned char routerRealMacAddress[18]; 22 char routerSSID[33]; /* maximum length of SSID is 32 characters. */ 23 char routerFirmwareVersion[16]; 24 char routerOperationMode; 25 char routerRegulation; 26 char routerPrinterInfo[128]; 27 28 // webdav 29 char webdavSupport; 30 char webdavEnableWebDav; 31 char webdavHttpType; 32 unsigned short webdavHttpPort; 33 unsigned short webdavHttpsPort; 34 char webdavEnableDDNS; 35 char webdavHostName[64]; 36 unsigned int webdavWANIPAddr; 37 char webdavWANIPAddress[32]; 38 char webdavWANState; 39 char webdavIsNotDefault; 40 41 // tunnel 42 char tunnelSupport; 43 unsigned short tunnelAppHttpPort; 44 char tunnelAppAPILevel; 45 char tunnelEnableAAE; 46 char tunnelAAEDeviceID[64]; 47 48} SearchRouterInfoStruct; 49 50#define LISTEN_PORT 9990 51#define INFO_SERVER_PORT 9999 52#define SERV_IP "255.255.255.255" 53#define MAX_SEARCH_ROUTER 127 54 55extern int a_bEndApp; 56extern int a_GetRouterCount; 57extern SearchRouterInfoStruct searchRouterInfo[MAX_SEARCH_ROUTER]; 58 59int ASUS_Discovery(); 60int ParseASUSDiscoveryPackage(int socket); 61 62void PROCESS_UNPACK_GET_INFO(char *pbuf, struct sockaddr_in from_addr); 63