sysconf.h
上传用户:sxdewei
上传日期:2014-06-02
资源大小:67k
文件大小:17k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _SYSCONF_H
  2. #define _SYSCONF_H
  3. #define CGI_DEBUG
  4. #ifdef CGI_DEBUG
  5. #define ASSERT(exp) do{if ((exp)==0) {printf ("ASSERT (%s) : LINE(%d),FILE(%s)n", #exp, __LINE__,__FILE__);fflush (0);}}while(0);
  6. #define DEBUGMSG(cond,printf_exp) do{if (cond) {printf ("%s:", __FILE__);printf printf_exp; fflush (0);}}while(0)
  7. #else
  8. #define ASSERT(exp)
  9. #define DEBUGMSG(cond,printf_exp)
  10. #endif
  11. void trace(char *exp);
  12. void trace1(int exp);
  13. void tracePostVars(char**vars);
  14. typedef struct sys_conf
  15. {
  16. ///////////////////////////////////
  17. // MAC address:
  18. ///////////////////////////////////
  19. unsigned char mac1[12];
  20. unsigned char mac2[12];
  21. ///////////////////////////////////
  22. // hasPasswd
  23. // 0: disable
  24. // 1: enable
  25. ///////////////////////////////////
  26. unsigned char hasPasswd;
  27. ///////////////////////////////////
  28. // Admin account:
  29. ///////////////////////////////////
  30. unsigned char User[20];
  31. ///////////////////////////////////
  32. // Admin password:
  33. ///////////////////////////////////
  34. unsigned char Passwd[20];
  35. ///////////////////////////////////
  36. // Camera Name:
  37. ///////////////////////////////////
  38. unsigned char CamName[20];
  39. ///////////////////////////////////
  40. // Camera Location:
  41. ///////////////////////////////////
  42. unsigned char CamLocation[20];
  43. ///////////////////////////////////
  44. //  Reserve for new parameter:
  45. ///////////////////////////////////
  46. unsigned char Reserve[256];
  47. }sys_conf;
  48. typedef struct network_conf
  49. {
  50. ///////////////////////////////////
  51. // IP address for wireless:
  52. ///////////////////////////////////
  53. unsigned long WIPADDR;
  54. ///////////////////////////////////
  55. // Sub netmask for wireless:
  56. ///////////////////////////////////
  57. unsigned long WNetMask;
  58. ///////////////////////////////////
  59. // Gateway for wireless:
  60. ///////////////////////////////////
  61. unsigned long WGateWay;
  62. ///////////////////////////////////
  63. // IP address for ethernet:
  64. ///////////////////////////////////
  65. unsigned long EIPADDR;
  66. ///////////////////////////////////
  67. // Sub netmask for ethernet:
  68. ///////////////////////////////////
  69. unsigned long ENetMask;
  70. ///////////////////////////////////
  71. // Gateway for ethernet:
  72. ///////////////////////////////////
  73. unsigned long EGateWay;
  74. ///////////////////////////////////
  75. // DNS Server1:
  76. ///////////////////////////////////
  77. unsigned long DNS1;
  78. ///////////////////////////////////
  79. // DNS Server2:
  80. ///////////////////////////////////
  81. unsigned long DNS2;
  82. ///////////////////////////////////
  83. //  Account1:
  84. ///////////////////////////////////
  85. unsigned char Account1[20];
  86. ///////////////////////////////////
  87. //  Passwd1:
  88. ///////////////////////////////////
  89. unsigned char Passwd1[20];
  90. ///////////////////////////////////
  91. // PPPoE for Ethernet
  92. // 0: disable
  93. // 1: enable
  94. ///////////////////////////////////
  95. unsigned char EPPPoE;
  96. ///////////////////////////////////
  97. //  Passwd1:
  98. ///////////////////////////////////
  99. unsigned char IPName[20];
  100. ///////////////////////////////////
  101. // DHCP for Wireless
  102. // 0: disable
  103. // 1: enable
  104. ///////////////////////////////////
  105. unsigned char WDHCP;
  106. ///////////////////////////////////
  107. // DHCP for Ethernet
  108. // 0: disable
  109. // 1: enable
  110. ///////////////////////////////////
  111. unsigned char EDHCP;
  112. ///////////////////////////////////
  113. // UPnP
  114. // 0: disable
  115. // 1: enable
  116. ///////////////////////////////////
  117. unsigned char UPnP;
  118. ///////////////////////////////////
  119. //  Reserve for new parameter:
  120. ///////////////////////////////////
  121. unsigned char Reserve[256];
  122. }network_conf;
  123. typedef struct wlan_conf
  124. {
  125. ///////////////////////////////////
  126. // Mode:
  127. // 1: Managed
  128. // 2: Ad-hoc
  129. //////////////////////////////////
  130. unsigned char Mode;
  131. ///////////////////////////////////
  132. // OpMode:
  133. // 1: Auto
  134. // 2: G
  135. // 3: B
  136. ///////////////////////////////////
  137. unsigned char OpMode;
  138. ///////////////////////////////////
  139. // SSID:
  140. ///////////////////////////////////
  141. unsigned char SSID[20];
  142. ///////////////////////////////////
  143. // Channel:
  144. // 1~13: channel 1~13
  145. ///////////////////////////////////
  146. unsigned char Channel;
  147. ///////////////////////////////////
  148. // TXRate:
  149. // 1~54
  150. ///////////////////////////////////
  151. unsigned char TxRate;
  152. ///////////////////////////////////
  153. // RTS threshold:
  154. ///////////////////////////////////
  155. unsigned short RTS;
  156. ///////////////////////////////////
  157. // Fragmentation threshold:
  158. ///////////////////////////////////
  159. unsigned short Fragmentation;
  160. ///////////////////////////////////
  161. // Preamble:
  162. // 1: long
  163. // 2: short
  164. ///////////////////////////////////
  165. unsigned char Preamble;
  166. ///////////////////////////////////
  167. // Authendication:
  168. // 1 : Open system
  169. // 2 : Shared key
  170. // 3 : WPA-PSK
  171. ///////////////////////////////////
  172. unsigned char Authen;
  173. ///////////////////////////////////
  174. // WPA Encryption:
  175. // 1 : TKIP
  176. // 2 : AES
  177. ///////////////////////////////////
  178. unsigned char WPAEnc;
  179. ///////////////////////////////////
  180. // Encryption:
  181. // 0 : Off
  182. // 1 : WEP 64
  183. // 2 : WEP 128
  184. ///////////////////////////////////
  185. unsigned char Encryption;
  186. ///////////////////////////////////
  187. // WEP key:
  188. ///////////////////////////////////
  189. unsigned char WEPKeyChoose;
  190. ///////////////////////////////////
  191. // WPA Pre-shared Key:
  192. ///////////////////////////////////
  193. unsigned char WPAPSK[20];
  194. ///////////////////////////////////
  195. // 64bits WEP Key:
  196. ///////////////////////////////////
  197. unsigned char WEPKey641[10];
  198. unsigned char WEPKey642[10];
  199. unsigned char WEPKey643[10];
  200. unsigned char WEPKey644[10];
  201. ///////////////////////////////////
  202. // 128bits WEP Key:
  203. ///////////////////////////////////
  204. unsigned char WEPKey1281[26];
  205. unsigned char WEPKey1282[26];
  206. unsigned char WEPKey1283[26];
  207. unsigned char WEPKey1284[26];
  208. ///////////////////////////////////
  209. //  Reserve for new parameter:
  210. ///////////////////////////////////
  211. unsigned char Reserve[256];
  212. }wlan_conf;
  213. typedef struct video_conf
  214. {
  215. ///////////////////////////////////
  216. // FF Server Port:
  217. ///////////////////////////////////
  218. unsigned short ServerPort;
  219. ///////////////////////////////////
  220. // Quality method:
  221. // 1: Fixed Bitrate
  222. // 2: Fixed Quality
  223. ///////////////////////////////////
  224. unsigned char QualityMethod;
  225. ///////////////////////////////////
  226. // Resolution:
  227. // 1: QCIF
  228. // 2: CIF
  229. // 3: D1
  230. ///////////////////////////////////
  231. unsigned char Resolution;
  232. ///////////////////////////////////
  233. // BitRate:
  234. // 1: 64k bit
  235. // 2: 128k
  236. // 3: 256k
  237. // 4: 512k
  238. // 5: 768k
  239. // 6: 1M
  240. // 7: 1.2M
  241. // 8: 1.5M
  242. // 9: 2M
  243. ///////////////////////////////////
  244. unsigned char BitRate;
  245. ///////////////////////////////////
  246. // FrameRate;:
  247. // 1: 5fps
  248. // 2: 10fps
  249. // 3: 15fps
  250. // 4: 20fps
  251. // 5: 25fps
  252. // 6: 30fps
  253. ///////////////////////////////////
  254. unsigned char FrameRate;
  255. ///////////////////////////////////
  256. // Quality:
  257. // 1: Medium
  258. // 2: Standard
  259. // 3: Good
  260. // 4: Detailed
  261. // 5: Excellent
  262. ///////////////////////////////////
  263. unsigned char Quality;
  264. ///////////////////////////////////
  265. // HorizontalReversal:
  266. // 0: Disable
  267. // 1: Enable
  268. ///////////////////////////////////
  269. unsigned char HorizontalReversal;
  270. ///////////////////////////////////
  271. // VerticalReversal:
  272. // 0: Disable
  273. // 1: Enable
  274. ///////////////////////////////////
  275. unsigned char VerticalReversal;
  276. ///////////////////////////////////
  277. // Brightness:
  278. // 0~255
  279. ///////////////////////////////////
  280. unsigned char Brightness;
  281. ///////////////////////////////////
  282. // Saturation:
  283. // 0~255
  284. ///////////////////////////////////
  285. unsigned char Saturation;
  286. ///////////////////////////////////
  287. // Contrast:
  288. // 0~255
  289. ///////////////////////////////////
  290. unsigned char Contrast;
  291. ///////////////////////////////////
  292. // Hue:
  293. // 0~255
  294. ///////////////////////////////////
  295. unsigned char Hue;
  296. ///////////////////////////////////
  297. //  Reserve for new parameter:
  298. ///////////////////////////////////
  299. unsigned char Reserve[256];
  300. }video_conf;
  301. typedef struct motion_parm_conf
  302. {
  303. ///////////////////////////////////
  304. // Motion Detection:
  305. // 0:OFF
  306. // 1:ON
  307. ///////////////////////////////////
  308. unsigned char Detection;
  309. ///////////////////////////////////
  310. // Motion Detection Window1 Name:
  311. ///////////////////////////////////
  312. unsigned char Name1[20];
  313. ///////////////////////////////////
  314. // Sensitivity for Window1:
  315. // 0~256
  316. ///////////////////////////////////
  317. unsigned char Sensitivity1;
  318. ///////////////////////////////////
  319. // Threshold for Window1:
  320. // 0~64
  321. ///////////////////////////////////
  322. unsigned char Threshold1;
  323. ///////////////////////////////////
  324. //  Start coordinate X for Window1:
  325. ///////////////////////////////////
  326. unsigned short StartX1;
  327. ///////////////////////////////////
  328. //  Start coordinate Y for Window1:
  329. ///////////////////////////////////
  330. unsigned short StartY1;
  331. ///////////////////////////////////
  332. //  Stop coordinate X for Window1:
  333. ///////////////////////////////////
  334. unsigned short StopX1;
  335. ///////////////////////////////////
  336. //  Stop coordinate Y for Window1:
  337. ///////////////////////////////////
  338. unsigned short StopY1;
  339. ///////////////////////////////////
  340. // Motion Detection Window2 Name:
  341. ///////////////////////////////////
  342. unsigned char Name2[20];
  343. ///////////////////////////////////
  344. // Sensitivity for Window2:
  345. // 0~256
  346. ///////////////////////////////////
  347. unsigned char Sensitivity2;
  348. ///////////////////////////////////
  349. // Threshold for Window2:
  350. // 0~64
  351. ///////////////////////////////////
  352. unsigned char Threshold2;
  353. ///////////////////////////////////
  354. //  Start coordinate X for Window2:
  355. ///////////////////////////////////
  356. unsigned short StartX2;
  357. ///////////////////////////////////
  358. //  Start coordinate Y for Window2:
  359. ///////////////////////////////////
  360. unsigned short StartY2;
  361. ///////////////////////////////////
  362. //  Stop coordinate X for Window2:
  363. ///////////////////////////////////
  364. unsigned short StopX2;
  365. ///////////////////////////////////
  366. //  Stop coordinate Y for Window2:
  367. ///////////////////////////////////
  368. unsigned short StopY2;
  369. ///////////////////////////////////
  370. // Motion Detection Window3 Name:
  371. ///////////////////////////////////
  372. unsigned char Name3[20];
  373. ///////////////////////////////////
  374. // Sensitivity for Window3:
  375. // 0~256
  376. ///////////////////////////////////
  377. unsigned char Sensitivity3;
  378. ///////////////////////////////////
  379. // Threshold for Window3:
  380. // 0~64
  381. ///////////////////////////////////
  382. unsigned char Threshold3;
  383. ///////////////////////////////////
  384. //  Start coordinate X for Window3:
  385. ///////////////////////////////////
  386. unsigned short StartX3;
  387. ///////////////////////////////////
  388. //  Start coordinate Y for Window3:
  389. ///////////////////////////////////
  390. unsigned short StartY3;
  391. ///////////////////////////////////
  392. //  Stop coordinate X for Window3:
  393. ///////////////////////////////////
  394. unsigned short StopX3;
  395. ///////////////////////////////////
  396. //  Stop coordinate Y for Window3:
  397. ///////////////////////////////////
  398. unsigned short StopY3;
  399. ///////////////////////////////////
  400. //  Motion detection frame interval:
  401. //  Value : 1~30
  402. ///////////////////////////////////
  403. unsigned char Interval;
  404. ///////////////////////////////////
  405. //  No of snapshot:
  406. //  Value : 1~5
  407. ///////////////////////////////////
  408. unsigned char Rotate;
  409. ///////////////////////////////////
  410. //  Reserve for new parameter:
  411. ///////////////////////////////////
  412. unsigned char Reserve[256];
  413. }motion_parm_conf;
  414. typedef struct motion_parm_app_conf
  415. {
  416. ///////////////////////////////////
  417. //  TriggerIO:
  418. //  0:Disable
  419. //  1:Enable
  420. ///////////////////////////////////
  421. unsigned char TriggerIO;
  422. ///////////////////////////////////
  423. //  MailAlarm:
  424. //  0:Disable
  425. //  1:Enable
  426. ///////////////////////////////////
  427. unsigned char MailAlarm;
  428. ///////////////////////////////////
  429. //  FtpAlarm:
  430. //  0:Disable
  431. //  1:Enable
  432. ///////////////////////////////////
  433. unsigned char FtpAlarm;
  434. ///////////////////////////////////
  435. //  FileBaseName:
  436. //  Snapshot file basename
  437. ///////////////////////////////////
  438. unsigned char FileBaseName[20];
  439. ///////////////////////////////////
  440. //  TimeSuffix:
  441. //  use time as snapshot file name suffix
  442. //  0:Disable
  443. //  1:Enable
  444. ///////////////////////////////////
  445. unsigned char TimeSuffix;
  446. ///////////////////////////////////
  447. //  Reserve for new parameter:
  448. ///////////////////////////////////
  449. unsigned char Reserve[256];
  450. }motion_parm_app_conf;
  451. typedef struct smtp_conf
  452. {
  453. ///////////////////////////////////
  454. //  SMTP Server1:
  455. ///////////////////////////////////
  456. unsigned char Server1[32];
  457. ///////////////////////////////////
  458. //  Account1:
  459. //  for smtp authendication
  460. ///////////////////////////////////
  461. unsigned char Account1[20];
  462. ///////////////////////////////////
  463. //  Passwd1:
  464. //  for smtp authendication
  465. ///////////////////////////////////
  466. unsigned char Passwd1[20];
  467. ///////////////////////////////////
  468. //  Recipient1:
  469. ///////////////////////////////////
  470. unsigned char Recipient1[32];
  471. ///////////////////////////////////
  472. //  Authentication method1:
  473. //  1: PLAIN (Default)
  474. //  2: LOGIN
  475. ///////////////////////////////////
  476. unsigned char Auth_Method1;
  477. ///////////////////////////////////
  478. //  SMTP Server2:
  479. ///////////////////////////////////
  480. unsigned long ServerIP2;
  481. ///////////////////////////////////
  482. //  Account2:
  483. //  for smtp authendication
  484. ///////////////////////////////////
  485. unsigned char Account2[20];
  486. ///////////////////////////////////
  487. //  Passwd2:
  488. //  for smtp authendication
  489. ///////////////////////////////////
  490. unsigned char Passwd2[20];
  491. ///////////////////////////////////
  492. //  Recipient2:
  493. ///////////////////////////////////
  494. unsigned char Recipient2[32];
  495. ///////////////////////////////////
  496. //  Authentication method1:
  497. //  1: PLAIN (Default)
  498. //  2: LOGIN
  499. ///////////////////////////////////
  500. unsigned char Auth_Method2;
  501. ///////////////////////////////////
  502. //  Reserve for new parameter:
  503. ///////////////////////////////////
  504. unsigned char Reserve[256];
  505. }smtp_conf;
  506. typedef struct ftp_conf
  507. {
  508. ///////////////////////////////////
  509. //  FTP Server1:
  510. ///////////////////////////////////
  511. unsigned char Server1[32];
  512. ///////////////////////////////////
  513. //  FTP Server port1:
  514. ///////////////////////////////////
  515. unsigned short ServerPort1;
  516. ///////////////////////////////////
  517. //  Account1:
  518. ///////////////////////////////////
  519. unsigned char Account1[20];
  520. ///////////////////////////////////
  521. //  Passwd1:
  522. ///////////////////////////////////
  523. unsigned char Passwd1[20];
  524. ///////////////////////////////////
  525. //  Folder1:
  526. //  default:"/"
  527. ///////////////////////////////////
  528. unsigned char Folder1[20];
  529. ///////////////////////////////////
  530. //  PasssiveMode1:
  531. //  0:Disable
  532. //  1:Enable
  533. ///////////////////////////////////
  534. unsigned char PasssiveMode1;
  535. ///////////////////////////////////
  536. //  FTP Server2:
  537. ///////////////////////////////////
  538. unsigned char Server2[32];
  539. ///////////////////////////////////
  540. //  FTP Server port2:
  541. ///////////////////////////////////
  542. unsigned short ServerPort2;
  543. ///////////////////////////////////
  544. //  Account2:
  545. ///////////////////////////////////
  546. unsigned char Account2[20];
  547. ///////////////////////////////////
  548. //  Passwd2:
  549. ///////////////////////////////////
  550. unsigned char Passwd2[20];
  551. ///////////////////////////////////
  552. //  Folder2:
  553. //  default:"/"
  554. ///////////////////////////////////
  555. unsigned char Folder2[20];
  556. ///////////////////////////////////
  557. //  PasssiveMode2:
  558. //  0:Disable
  559. //  1:Enable
  560. ///////////////////////////////////
  561. unsigned char PasssiveMode2;
  562. ///////////////////////////////////
  563. //  Reserve for new parameter:
  564. ///////////////////////////////////
  565. unsigned char Reserve[256];
  566. }ftp_conf;
  567. typedef struct ntp_conf
  568. {
  569. ///////////////////////////////////
  570. //  NTP Server:
  571. ///////////////////////////////////
  572. unsigned char Server[32];
  573. ///////////////////////////////////
  574. //  TimeZone:
  575. //  0~25:(GMT-12)~GMT~(GMT+12)
  576. ///////////////////////////////////
  577. unsigned char TimeZone;
  578. ///////////////////////////////////
  579. //  Reserve for new parameter:
  580. ///////////////////////////////////
  581. unsigned char Reserve[256];
  582. }ntp_conf;
  583. #define SYSOFFSET 0
  584. #define NETOFFSET sizeof(sys_conf)
  585. #define WLANOFFSET (NETOFFSET + sizeof(network_conf))
  586. #define VIDEOOFFSET (WLANOFFSET + sizeof(wlan_conf))
  587. #define MOTIONOFFSET (VIDEOOFFSET + sizeof(video_conf))
  588. #define MOTIONAPPOFFSET (MOTIONOFFSET + sizeof(motion_parm_conf))
  589. #define SMTPOFFSET (MOTIONAPPOFFSET + sizeof(motion_parm_app_conf))
  590. #define FTPOFFSET (SMTPOFFSET + sizeof(smtp_conf))
  591. #define NTPOFFSET (FTPOFFSET + sizeof(ftp_conf))
  592. #define READBUF 5000
  593. #endif