www.pudn.com > UIP09_ADSP-BF537_Blackfin_org.zip > cgi.i
#line 1 ".\\cgi.c"
#line 1 ".\\uip.h"
#line 1 ".\\globals.h"
typedef unsigned long int u32;
typedef unsigned short int u16;
typedef unsigned char u8;
extern _Bool STACK_BUSY;
extern u16 temp_cgi;
#line 56 ".\\uip.h"
#line 1 ".\\uipopt.h"
typedef unsigned char u8_t;
typedef unsigned short u16_t;
typedef unsigned short uip_stats_t;
#line 146 ".\\uipopt.h"
#line 159 ".\\uipopt.h"
#line 172 ".\\uipopt.h"
void uip_log(char *msg);
#line 493 ".\\uipopt.h"
#line 57 ".\\uip.h"
#line 1 ".\\httpd.h"
void httpd_init(void);
void httpd_appcall(void);
struct httpd_state {
u8 state;
u16 count;
char *dataptr;
char *script;
};
extern struct httpd_state *hs;
#line 58 ".\\uip.h"
#line 1 ".\\uip_arp.h"
#line 1 ".\\uip.h"
#line 1071 ".\\uip.h"
#line 56 ".\\uip_arp.h"
struct uip_eth_addr {
u8 addr[6];
};
extern struct uip_eth_addr uip_ethaddr;
struct uip_eth_hdr {
struct uip_eth_addr dest;
struct uip_eth_addr src;
u16_t type;
};
void uip_arp_init(void);
void uip_arp_ipin(void);
void uip_arp_arpin(void);
void uip_arp_out(void);
void uip_arp_timer(void);
#line 193 ".\\uip_arp.h"
extern const u16_t uip_arp_draddr[2], uip_arp_netmask[2];
#line 59 ".\\uip.h"
void uip_init(void);
#line 297 ".\\uip.h"
extern u8 uip_buf[1600+2];
void uip_listen(u16 port);
void uip_unlisten(u16 port);
struct uip_conn *uip_connect(u16 *ripaddr, u16 port);
struct uip_udp_conn *uip_udp_new(u16 *ripaddr, u16 rport);
#line 715 ".\\uip.h"
u16 htons(u16 val);
extern volatile u8 *uip_appdata;
extern volatile unsigned int uip_appdata_length;
extern volatile u8 *uip_sappdata;
extern volatile u8 *uip_urgdata;
extern volatile u16 uip_len, uip_slen;
extern volatile u8 uip_urglen, uip_surglen;
struct uip_conn {
u16 ripaddr[2];
u16 lport;
u16 rport;
u8 rcv_nxt[4];
u8 snd_nxt[4];
u16 len;
u16 mss;
u16 initialmss;
u8 sa;
u8 sv;
u8 rto;
u8 tcpstateflags;
u8 timer;
u8 nrtx;
u8 appstate[(sizeof(struct httpd_state))];
};
extern struct uip_conn *uip_conn;
extern struct uip_conn uip_conns[10];
extern volatile u8 uip_acc32[4];
#line 842 ".\\uip.h"
struct uip_stats {
struct {
uip_stats_t drop;
uip_stats_t recv;
uip_stats_t sent;
uip_stats_t vhlerr;
uip_stats_t hblenerr;
uip_stats_t lblenerr;
uip_stats_t fragerr;
uip_stats_t chkerr;
uip_stats_t protoerr;
} ip;
struct {
uip_stats_t drop;
uip_stats_t recv;
uip_stats_t sent;
uip_stats_t typeerr;
} icmp;
struct {
uip_stats_t drop;
uip_stats_t recv;
uip_stats_t sent;
uip_stats_t chkerr;
uip_stats_t ackerr;
uip_stats_t rst;
uip_stats_t rexmit;
uip_stats_t syndrop;
uip_stats_t synrst;
} tcp;
};
extern struct uip_stats uip_stat;
extern volatile u8 uip_flags;
#line 945 ".\\uip.h"
void uip_process(u8 flag);
#line 971 ".\\uip.h"
#line 983 ".\\uip.h"
typedef struct {
u8 vhl,
tos,
len[2],
ipid[2],
ipoffset[2],
ttl,
proto;
u16 ipchksum;
u16 srcipaddr[2],
destipaddr[2];
u16 srcport,
destport;
u8 seqno[4],
ackno[4],
tcpoffset,
flags,
wnd[2];
u16 tcpchksum;
u8 urgp[2];
u8 optdata[4];
} uip_tcpip_hdr;
typedef struct {
u8 vhl,
tos,
len[2],
ipid[2],
ipoffset[2],
ttl,
proto;
u16 ipchksum;
u16 srcipaddr[2],
destipaddr[2];
u8 type, icode;
u16 icmpchksum;
u16 id, seqno;
} uip_icmpip_hdr;
typedef struct {
u8 vhl,
tos,
len[2],
ipid[2],
ipoffset[2],
ttl,
proto;
u16 ipchksum;
u16 srcipaddr[2],
destipaddr[2];
u16 srcport,
destport;
u16 udplen;
u16 udpchksum;
} uip_udpip_hdr;
extern const u16 uip_hostaddr[2];
#line 55 ".\\cgi.c"
#line 1 ".\\cgi.h"
typedef u8_t (* cgifunction)(u8_t next);
extern cgifunction cgitab[];
#line 56 ".\\cgi.c"
#line 1 ".\\fs.h"
struct fs_file {
char *data;
int len;
};
int fs_open(const char *name, struct fs_file *file);
u16_t fs_count(char *name);
void fs_init(void);
#line 58 ".\\cgi.c"
#line 1 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
#pragma once
#pragma system_header /* stdio.h */
#line 1 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#pragma once
#pragma system_header /* yvals.h */
#line 75 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 88 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 97 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 121 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
typedef long int _Ptrdifft;
typedef long unsigned int _Sizet;
#line 231 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 246 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 287 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
typedef unsigned int _Wintt;
typedef unsigned int _Wchart;
#line 326 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
typedef char * va_list;
typedef va_list _Va_list;
#line 346 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 362 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
typedef long long _Longlong;
typedef unsigned long long _ULonglong;
#line 370 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
extern "C" {
void _Atexit(void (*)(void));
}
typedef struct _Mbstatet {
_Wchart _Wchar;
char _State;
} _Mbstatet;
typedef struct _Fpost {
long _Off;
_Mbstatet _Wstate;
} _Fpost;
#line 423 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 435 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\yvals.h"
#line 20 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
#line 38 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
#line 55 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
typedef _Sizet size_t;
typedef _Fpost fpos_t;
typedef struct FILE
{
unsigned short _Mode;
signed char fileID;
unsigned char *_Next;
unsigned char *_Rend;
unsigned char *_Wend;
unsigned char *_Buf;
unsigned char *_Bend;
#line 96 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
unsigned char *bufadr;
unsigned char *rsave;
unsigned char onechar;
char nback;
unsigned char _Back[2];
unsigned char pBlock[36];
#line 116 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
} FILE;
extern FILE _Stdin, _Stdout, _Stderr;
void clearerr(FILE *);
int fclose(FILE *);
int feof(FILE *);
int ferror(FILE *);
int fflush(FILE *);
int fgetc(FILE *);
int fgetpos(FILE *, fpos_t *);
char * fgets(char *, int, FILE *);
FILE * fopen(const char *, const char *);
int fprintf(FILE *, const char *, ...);
int fputc(int, FILE *);
int fputs(const char *, FILE *);
size_t fread(void *, size_t, size_t, FILE *);
FILE * freopen(const char *, const char *,
FILE *);
int fscanf(FILE *, const char *, ...);
int fseek(FILE *, long, int);
int fsetpos(FILE *, const fpos_t *);
long ftell(FILE *);
size_t fwrite(const void *, size_t, size_t, FILE *);
char * gets(char *);
void perror(const char *);
int printf(const char *, ...);
int puts(const char *);
int remove(const char *);
int rename(const char *, const char *);
void rewind(FILE *);
int scanf(const char *, ...);
void setbuf(FILE *, char *);
int setvbuf(FILE *, char *, int, size_t);
int sprintf(char *, const char *, ...);
int sscanf(const char *, const char *, ...);
int ungetc(int, FILE *);
int vfprintf(FILE *, const char *, _Va_list);
int vprintf(const char *, _Va_list);
int vsprintf(char *, const char *, _Va_list);
long _Fgpos(FILE *, fpos_t *);
int _Flocale(FILE *, const char *, int);
void _Fsetlocale(FILE *, int);
int _Fspos(FILE *, const fpos_t *, long, int);
extern FILE *_Files[16];
int getc(FILE *);
int getchar(void);
int putc(int, FILE *);
int putchar(int);
#line 280 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
#line 301 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\stdio.h"
#line 60 ".\\cgi.c"
#line 1 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\string.h"
#pragma once
#pragma system_header /* string.h */
int memcmp(const void *, const void *, size_t);
void * __builtin_memcpy(void *, const void *, size_t);
void * memcpy(void *, const void *, size_t);
void * __builtin_memmove(void *, const void *, size_t);
void * memmove(void *, const void *, size_t);
void * memset(void *, int, size_t);
char * strcat(char *, const char *);
int strcmp(const char *, const char *);
int strcoll(const char *, const char *);
char *__builtin_strcpy(char *, const char *);
char * strcpy(char *, const char *);
size_t strcspn(const char *, const char *);
char * strerror(int);
size_t __builtin_strlen(const char *);
size_t strlen(const char *);
char * strncat(char *, const char *, size_t);
int strncmp(const char *, const char *, size_t);
char * strncpy(char *, const char *, size_t);
size_t strspn(const char *, const char *);
char * strtok(char *, const char *);
size_t strxfrm(char *, const char *, size_t);
#line 66 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\string.h"
#line 111 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\string.h"
void * memchr(const void *, int, size_t);
char * strchr(const char *, int);
char * strpbrk(const char *, const char *);
char * strrchr(const char *, int);
char * strstr(const char *, const char *);
#line 134 "C:\\Program Files\\Analog Devices\\VisualDSP 4.0\\Blackfin\\include\\string.h"
#line 61 ".\\cgi.c"
static u8 print_stats(u8 next);
static u8 file_stats(u8 next);
static u8 tcp_stats(u8 next);
cgifunction cgitab[] = {
print_stats,
file_stats,
tcp_stats
};
static const char closed[] =
{0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0};
static const char syn_rcvd[] =
{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56,
0x44, 0};
static const char syn_sent[] =
{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e,
0x54, 0};
static const char established[] =
{0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48,
0x45, 0x44, 0};
static const char fin_wait_1[] =
{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,
0x54, 0x2d, 0x31, 0};
static const char fin_wait_2[] =
{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,
0x54, 0x2d, 0x32, 0};
static const char closing[] =
{0x43, 0x4c, 0x4f, 0x53, 0x49,
0x4e, 0x47, 0};
static const char time_wait[] =
{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41,
0x49, 0x54, 0};
static const char last_ack[] =
{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43,
0x4b, 0};
static const char *states[] = {
closed,
syn_rcvd,
syn_sent,
established,
fin_wait_1,
fin_wait_2,
closing,
time_wait,
last_ack};
static u8
print_stats(u8 next)
{
u16 i, j;
u8 *buf;
u16 *databytes;
if(next) {
hs->count = hs->count + 4;
if(hs->count >= sizeof(struct uip_stats)/sizeof(u16)) {
return 1;
}
}
databytes = (u16 *)&uip_stat + hs->count;
buf = (u8 *)uip_appdata;
j = 4 + 1;
i = hs->count;
while (i < sizeof(struct uip_stats)/sizeof(u16) && --j > 0) {
sprintf((char *)buf, "%5u\r\n", *databytes);
++databytes;
buf += 6;
++i;
}
do { uip_sappdata = (uip_appdata); uip_slen = (buf - uip_appdata);} while(0);
return 0;
}
static u8
file_stats(u8 next)
{
if(next) {
return 1;
}
do { uip_sappdata = (uip_appdata); uip_slen = (sprintf((char *)uip_appdata, "%5u", fs_count(&hs->script[4])));} while(0);
return 0;
}
static u8
tcp_stats(u8 next)
{
struct uip_conn *conn;
if(next) {
if(++hs->count == 10) {
return 1;
}
}
conn = &uip_conns[hs->count];
if((conn->tcpstateflags & 15) == 0) {
do { uip_sappdata = (uip_appdata); uip_slen = (sprintf((char *)uip_appdata, "- - %u %u %c %c \r\n", conn->nrtx, conn->timer, (((conn)->len))? '*':' ', (((conn)->tcpstateflags & 16))? '!':' '));} while(0);
} else {
do { uip_sappdata = (uip_appdata); uip_slen = (sprintf((char *)uip_appdata, "%u.%u.%u.%u:%u %s %u %u %c %c \r\n", htons(conn->ripaddr[0]) >> 8, htons(conn->ripaddr[0]) & 0xff, htons(conn->ripaddr[1]) >> 8, htons(conn->ripaddr[1]) & 0xff, htons(conn->rport), states[conn->tcpstateflags & 15], conn->nrtx, conn->timer, (((conn)->len))? '*':' ', (((conn)->tcpstateflags & 16))? '!':' '));} while(0);
#line 208 ".\\cgi.c"
}
return 0;
}