81 lines
2.0 KiB
C
81 lines
2.0 KiB
C
![]() |
/*
|
|||
|
*
|
|||
|
*/
|
|||
|
#ifndef IPSCAN_H
|
|||
|
#define IPSCAN_H
|
|||
|
|
|||
|
#define _XOPEN_SOURCE 600 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
|
|||
|
#include <stdio.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include <string.h>
|
|||
|
#include <unistd.h>
|
|||
|
#include <sys/types.h>
|
|||
|
#include <sys/select.h>
|
|||
|
#include <sys/socket.h>
|
|||
|
#include <netinet/in.h>
|
|||
|
#include <arpa/inet.h>
|
|||
|
|
|||
|
#include "typeorigin.h"
|
|||
|
|
|||
|
#define DEVTYPE "jda901"
|
|||
|
|
|||
|
#ifdef AZL5083
|
|||
|
#define DEVNAME "AZL5083"
|
|||
|
#define ETHNAME_INSIDE "eth0"
|
|||
|
#define ETHNAME_OUTSIDE "eth1"
|
|||
|
#elif defined SZR303
|
|||
|
// AZL Ϊʶ<CEAA><CAB6>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> AZL <20><>ͷ
|
|||
|
#define DEVNAME "AZLR303"
|
|||
|
#define ETHNAME_INSIDE "ens0"
|
|||
|
#define ETHNAME_OUTSIDE "ens1"
|
|||
|
#elif defined MW335
|
|||
|
#define DEVNAME "MW335"
|
|||
|
#else
|
|||
|
#define DEVNAME "UNKNOWN"
|
|||
|
#define ETHNAME_INSIDE "ens33"
|
|||
|
#define ETHNAME_OUTSIDE "ens33"
|
|||
|
#endif
|
|||
|
|
|||
|
#define PART_TYPE_SIZE 8
|
|||
|
#define PART_NAME_SIZE 8
|
|||
|
#define PART_IP_SIZE 16
|
|||
|
#define PART_MAC_SIZE 20
|
|||
|
|
|||
|
#define RECV_BUF_SIZE 11 // <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>Բ<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SEND_BUF_SIZE 128 // <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>Բ<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
typedef struct _server_udp {
|
|||
|
ST_INT port; // <20><><EFBFBD>ض˿<D8B6>
|
|||
|
ST_CHAR ip[32]; // <20><><EFBFBD><EFBFBD>ip<69><70>ַ
|
|||
|
ST_INT sock; // <20><><EFBFBD><EFBFBD> socket
|
|||
|
struct SOCKADDR addr; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
} server_udp;
|
|||
|
|
|||
|
ST_RET InitSystem();
|
|||
|
|
|||
|
ST_RET InitAndStartUdpServer(server_udp *server, ST_INT port);
|
|||
|
|
|||
|
ST_RET SeletsUDPData(server_udp *server); //select <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ģʽ
|
|||
|
ST_RET RecvUdpData(server_udp *server); // <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
|||
|
ST_RET SendUdpData(server_udp *server , struct SOCKADDR *client_addr, ST_CHAR *data, ST_INT len);
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD> <20>ͻ<EFBFBD><CDBB>˵<EFBFBD>buff
|
|||
|
ST_RET ParseClientBuff(server_udp *server, struct SOCKADDR *client_addr, ST_CHAR *buff);
|
|||
|
|
|||
|
ST_RET CloseUdpServer(server_udp *server);
|
|||
|
|
|||
|
// <20><>ȡ<EFBFBD>豸<EFBFBD><E8B1B8>Ϣ
|
|||
|
ST_RET GetDevInfo(ST_CHAR *buff, ST_INT buff_len);
|
|||
|
ST_RET GetIPAddr(ST_CHAR *buff, const ST_CHAR *ethname);
|
|||
|
ST_RET GetMacAddr(ST_CHAR *buff, const ST_CHAR *ethname);
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ST_RET SetGateway(ST_CHAR *ethname);
|
|||
|
|
|||
|
ST_RET EXEC_CMD(const ST_CHAR *cmd, ST_CHAR *result, ST_INT ret_len);
|
|||
|
|
|||
|
|
|||
|
ST_VOID PrintBuffer(ST_UCHAR *buff, ST_INT len);
|
|||
|
|
|||
|
#endif
|