Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef __ENET_AGENTD_H__
- #define __ENET_AGENTD_H__
- #ifdef ENET_SUPPORT_AGENTD
- #include "enet/enet_function.h"
- __BEGIN_C_PROTO__
- #define dbg(format, arg...) fprintf(stderr, "DEBUG: " __FILE__" line %d: " format "\n", __LINE__, ## arg)
- #ifndef ENET_AGENTD_PORT
- #define ENET_AGENTD_PORT 13364
- #endif
- #define RESET 0x01 // ���}�
- #define READ_SETTING 0x02 // Ū�� Camera �� information�A�ϥ� _IC_SETTING
- #define SET_CONFIG 0x03 // �]�w Camera�A�ϥ� _IC_CONFIG
- #define SEARCH_IPCAM 0x04 // �j�M Camera�A�� broadcast �^�A�ϥ� _IC_NAME
- #define SEARCH_MANUAL 0x05 // �j�M Camera�A�Ψӷ� ip �^
- #define READ_SETTING_MANUAL 0x06 // Ū�� Camera �� information�A�Ψӷ� ip �^
- #define FIRMWARE_UPGRADE 0x07 // �i�J upgrade mode (for IC-1000 only)
- #define FACTORY_DEFAULT 0x08 // reset to default
- #define GETWLAN_COMMAND 0x09 // ���o wireless lan �����T�A�ϥ�_WLANINFO
- #define SITESURVEY_COMMAND 0x0A // ���o sitesurvey ���G�A�ϥ� _SITESURVEY
- #define LED_ON_OFF_COMMAND 0x0B
- #define GETWLAN_COMMAND_MANUAL 0x0C // ���o wireless lan �����T�A�ϥ�_WLANINFO�A�Ψӷ� ip �^
- #define SITESURVEY_COMMAND_MANUAL 0x0D // ���o sitesurvey ���G�A�ϥ� _SITESURVEY�A�Ψӷ� ip �^
- #define LED_ON_OFF_COMMAND_MANUAL 0x0E // �Ψӷ� ip �^
- #define READ_EMAIL_AUTH 0x10
- #define SET_EMAIL_AUTH 0x11
- #define GET_USERS 0x12
- #define SET_USERS 0x13
- #define SEND_TEST_EMAIL 0x14
- #define READ_FTP_SETTING 0x15
- #define SET_FTP_SETTING 0x16
- #define READ_TIME_SETTING 0x17
- #define SET_TIME_SETTING 0x18
- #define READ_PPPOE_SETTING 0x19
- #define SET_PPPOE_SETTING 0x1A
- #define READ_EMAIL_AUTH_MANUAL 0x1D
- #define GET_USERS_MANUAL 0x1E
- #define READ_FTP_SETTING_MANUAL 0x1F
- #define READ_TIME_SETTING_MANUAL 0x20
- #define READ_PPPOE_SETTING_MANUAL 0x21
- #define MAC_ID_LEN 6
- #define REQUEST_LEN 4
- #define MAX_SIZE 5120
- /*
- typedef struct search_s{
- unsigned char mac[MAC_ID_LEN];
- unsigned edicfg[REQUEST_LEN];
- } __ATTRIB_PACK__ search_t;
- */
- typedef struct enet_agentd_s
- {
- bool running;
- pthread_t thread;
- }enet_agentd_t;
- /* neo: copy from MainPage.cpp */
- typedef struct TCPConfigPacket
- {
- unsigned char NodeID[6]; // MAC id�A�ΨӤ����O�_�O���ۤv�� command�A���F search �ʥ]�~�A���l���ʥ]���n�ŦX mac id �~process
- unsigned char edicfg[4]; // [0]: 0 request, 1 response, [1]: command, [2]: ff, [3]: ff-command
- }__ATTRIB_PACK__ TCPCFG;
- enum FuncTypes{
- REQUEST,
- RESPONSE,
- FAULT,
- };
- /*
- model definition (IC_DeviceModel):
- 0x1, 0x2: IC1000, IC1000WG
- 0x3, 0x4: IC3000, IC3000WG
- 0x5, 0x6: IC1001, IC1001WG
- 0x7, 0x8: IC1500, IC1500WG
- */
- typedef struct _IC_NAME
- {
- unsigned char IC_Name[32];
- unsigned char IC_IP[4];
- unsigned char IC_Reserved0[20];
- unsigned char IC_VendorID;
- unsigned char IC_SubVendorID;
- unsigned char IC_DeviceType; // 0x05 for IPCamera
- unsigned char IC_DeviceModel;
- unsigned char IC_Setted;
- unsigned char IC_Reserved1[5];
- } __ATTRIB_PACK__ IC_NAME, *PIC_NAME;
- typedef struct _IC_MD_1500
- {
- char IC_MD_enable; /* Enable */
- char IC_MD_email; /* Send email alert? */
- char IC_MD_ftp; /* Upload to FTP server? */
- char IC_MD_title[MAX_TITLE_LEN]; /* Clip title */
- u16 IC_MD_threshold; /* Threshold */
- u16 IC_MD_delay; /* Delay time after event */
- }__ATTRIB_PACK__ IC_MD_1500, *PIC_MD_1500;
- typedef struct _IC_MD_3010
- {
- char IC_MD_enable; /* Enable */
- char IC_MD_email; /* Send email alert? */
- char IC_MD_ftp; /* Upload to FTP server? */
- char IC_MD_title[MAX_TITLE_LEN]; /* Clip title */
- u32 IC_MD_length; /* length */
- u32 IC_MD_delay; /* Delay time after event */
- }__ATTRIB_PACK__ IC_MD_3010, *PIC_MD_3010;
- typedef struct _IC_SETTING
- {
- unsigned char email[32];
- unsigned char emailserver[32];
- unsigned char IC_SUBNET[4];
- unsigned char IC_GATEWAY[4];
- unsigned char IC_DNS[4];
- unsigned short IC_PORT;
- unsigned short IC_WEB_PORT;
- unsigned char IC_Resolution;
- unsigned char IC_FirmwareVer[5];
- unsigned char IC_Password[5]; //for IC1000, IC1001 only
- unsigned char IC_DDNS_DOMAIN[0x21];
- unsigned char IC_DDNS_ACCOUNT[0x11];
- unsigned char IC_DDNS_PASSWORD[0x11];
- unsigned char IC_DDNS_ENABLE;
- unsigned char IC_UPNP_ENABLE;
- unsigned char IC_Name[32];
- unsigned char IC_DHCP_ENABLE;
- unsigned char IC_PPPOE_ENABLE;
- /* for IC1001 */
- unsigned char IC_DDNS_SERVER_ID; // 0:dyndns, 1:TZO
- unsigned char IC_TZO_DDNS_ACCOUNT[48];
- unsigned char IC_TZO_DDNS_PASSWORD[48];
- unsigned char IC1001_EMAIL_SENDER[32];
- /* for IC1001 end */
- unsigned char IC_LongPassword[MAX_PASSWD_LEN]; //for IC1500
- #if defined AGENTED_SUPPORT_MD
- IC_MD_1500 m_IC_MD_1500;
- IC_MD_3010 m_IC_MD_3010;
- #endif
- } __ATTRIB_PACK__ IC_SETTING, *PIC_SETTING;
- typedef struct _WLANINFO
- {
- char SSID[33]; // MAX 32 Bytes
- char BSSID[18]; // 00:11:22:33:44:55
- char Channel; //
- char Network_Type; // 0:Disable 1:Ad Hoc 2:Infrastructure
- char Encryption; // // 0:Disable, 1:64bits, 2:128bits, 3: TKIP, 4: AES
- char Key_Format; // 0 : ASCII, 1: HEX
- char Default_Key; //0:Key1 1:Key2 2:Key3 3:Key4
- char Key[4][26];
- char Connected;
- char auth_mode; // 0: none, 1: open, 2: share, 3:WPA
- char WPA_KEY[65]; // WPA-KEY MAX 64Bytes;
- }__ATTRIB_PACK__ WLANINFO, *PWLANINFO;
- typedef struct _IC_CONFIG
- {
- TCPCFG cfg;
- unsigned char IC_Name[32];
- unsigned char IC_IP[4];
- unsigned char IC_SUBNET[4];
- unsigned char IC_GATEWAY[4];
- unsigned char IC_DNS[4];
- unsigned short IC_PORT;
- unsigned short IC_WEB_PORT;
- unsigned char IC_email[32];
- unsigned char IC_emailserver[32];
- unsigned char IC_Resolution;
- unsigned char IC_Password[5]; //for IC1000, IC1001 only
- unsigned char IC_DDNS_DOMAIN[0x21];
- unsigned char IC_DDNS_ACCOUNT[0x11];
- unsigned char IC_DDNS_PASSWORD[0x11];
- unsigned char IC_DDNS_ENABLE;
- unsigned char IC_UPNP_ENABLE;
- unsigned char IC_DHCP_ENABLE;
- unsigned char IC_PPPOE_ENABLE;
- WLANINFO wlaninfo;
- unsigned char IC_Reserved;
- /* for IC1001 */
- unsigned char IC_DDNS_SERVER_ID; // 0:dyndns, 1:TZO
- unsigned char IC_TZO_DDNS_ACCOUNT[48];
- unsigned char IC_TZO_DDNS_PASSWORD[48];
- unsigned char IC1001_EMAIL_SENDER[32];
- /* for IC1001 end */
- unsigned char IC_LongPassword[MAX_PASSWD_LEN]; //for IC1500
- #if defined AGENTED_SUPPORT_MD
- IC_MD_1500 m_IC_MD_1500;
- IC_MD_3010 m_IC_MD_3010;
- #endif
- } __ATTRIB_PACK__ IC_CONFIG, *PIC_CONFIG;
- typedef struct _SITESURVEY
- {
- char SSID[33]; // MAX 32 Bytes
- char BSSID[18]; // 00:11:22:33:44:55
- char Channel; //
- char Network_Type; // 1:Ad Hoc 2:Infrastructure
- char Encryption; // 0:Disable 1:64 2:128 3:TKIP 4:AES
- char Rssi; //signal quality
- } __ATTRIB_PACK__ SITESURVEY, *PITESURVEY;
- typedef struct _IC_LED
- {
- TCPCFG cfg;
- char IC_LED;
- } __ATTRIB_PACK__ IC_LED, *PIC_LED;
- typedef struct _EMAIL_AUTH
- {
- char emailauth;
- char emailaccount[32];
- char emailpassword[32];
- char emailsender[32];
- } __ATTRIB_PACK__ EMAIL_AUTH;
- typedef struct _TEST_EMAIL
- {
- TCPCFG header;
- char email_receive[32];
- char email_server[32];
- char email_sender[32];
- char email_auth;
- char email_account[32];
- char email_password[32];
- }__ATTRIB_PACK__ TEST_EMAIL, *PTEST_EMAIL;
- typedef struct _FTP_SETTING
- {
- TCPCFG header;
- char Server[64];
- unsigned int Port;
- char UserName[32];
- char Password[32];
- char Folder[128];
- char Passive;
- }__ATTRIB_PACK__ FTP_SETTING, *PFTP_SETTING;
- typedef struct _PPPOE_SETTING
- {
- TCPCFG header;
- char UserName[64];
- char Password[64];
- int MTU;
- }__ATTRIB_PACK__ PPPOE_SETTING, *PPPPOE_SETTING;
- typedef struct _USERS
- {
- TCPCFG header;
- char check; // bit1 set to 1 means User1 is enabled, bit2 for User2, bit3 for User3, bit4 for User4
- // example: 0x05 means user1 and user3 is enabled.
- char users[4][MAX_LOGIN_LEN];
- char passwd[4][MAX_PASSWD_LEN];
- }__ATTRIB_PACK__ USERS, *PUSERS;
- typedef struct _DATETIME
- {
- TCPCFG header;
- char mode; // 0 for manual , 1 for NTP Server
- int year;
- int month;
- int day;
- int hour;
- int minutes;
- int second;
- int timezone;
- char server[32];
- }__ATTRIB_PACK__ DATETIME, *PDATETIME;
- extern void enet_agentd_init(void *);
- extern void enet_agentd_cleanup(void *);
- extern void enet_agentd_start(void *);
- extern void enet_agentd_restart(void *);
- extern void enet_agentd_stop(void *);
- extern bool enet_agentd_isrunning(void *);
- __END_C_PROTO__
- #endif //ENET_SUPPORT_AGENTD
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement