⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cgi.i

📁 实现在指定视频服务器下的视频点播
💻 I
📖 第 1 页 / 共 2 页
字号:






 









 









 









 











 













  







 












 












 
struct uip_udp_conn *uip_udp_new(u16 *ripaddr, u16 rport);







 












 


 

 







 
 



















 













 
# 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];

 


# 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;





 

# 945 "uip.h"








 
void uip_process(u8 flag);





 

# 971 "uip.h"

 
# 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];











 

# 55 "cgi.c"
# 1 "cgi.h"



 





 

































 




typedef u8_t (* cgifunction)(u8_t next);




 
extern cgifunction cgitab[];

# 56 "cgi.c"
# 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);

# 58 "cgi.c"

# 1 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"
#pragma once

#pragma system_header /* stdio.h */










 
 
# 1 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"








 

#pragma once

#pragma system_header /* yvals.h */




 


























































 

















 

# 130 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"
    






# 144 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"

# 153 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"



# 179 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"
   typedef long int _Ptrdifft;
   typedef long unsigned int _Sizet;






# 204 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"

typedef int _Int32t;
typedef unsigned int _Uint32t;












 
 
 


# 231 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"






		 









		 
 





  




  





 

# 355 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"















  




 






 







 







 
# 427 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"

 
# 438 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"







 






 
# 459 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"
  typedef long long   _Longlong;
  typedef unsigned long long  _ULonglong;
# 467 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"

 

  typedef unsigned int _Wintt;
  typedef unsigned int _Wchart;
# 488 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"



 


 



 

  typedef char *  va_list;


typedef va_list _Va_list;
# 511 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"

 



void _Atexit(void (*)(void));


typedef struct _Mbstatet {
   _Wchart _Wchar;
   char _State;
   } _Mbstatet;


 




typedef struct _Fpost {
   long _Off;    
   _Mbstatet _Wstate;
   } _Fpost;









typedef char _Sysch_t;

 




 




		 










# 576 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\yvals.h"



# 20 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"



		 








# 38 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"









# 55 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\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;
# 96 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"
    unsigned char *bufadr;
    unsigned char *rsave;
    unsigned char  onechar;
    char           nback;
    unsigned char  _Back[2];
    unsigned char  pBlock[36];
# 116 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\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);


# 285 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"






# 1 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\sys/stdio_bf.h"
#pragma once

#pragma system_header /* stdio_bf.h */







 








 












int snprintf(char *_s, size_t _n, const char *_format, ...);




int vsnprintf(char *_s, size_t _n, const char *_format, _Va_list);









# 292 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"




# 314 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\stdio.h"






 
# 60 "cgi.c"
# 1 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\string.h"
#pragma once

#pragma system_header /* string.h */










 

 








		 




		 

# 40 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\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 *memset(void *, int, size_t);
char *strcat(char *, const char *);
int strcmp(const char *, const char *);
char *strcpy(char *, const char *);
size_t __builtin_strlen(const char *);
size_t strlen(const char *);

void *memmove(void *, const void *, size_t);
int strcoll(const char *, const char *);
char *__builtin_strcpy(char *, const char *);
size_t strcspn(const char *, const char *);
char *strerror(int);
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);


char *strdup(const char *);
int strcasecmp(const char *, const char *);
int strncasecmp(const char *, const char *, size_t);
char *strtok_r(char *, const char *, char **);




# 81 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\string.h"

# 118 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\string.h"



char *strchr(const char *, int);
char *strpbrk(const char *, const char *);
char *strrchr(const char *, int);
char *strstr(const char *, const char *);






# 143 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\string.h"

void *memchr(const void *, int, size_t);







# 167 "D:\\Program Files\\Analog Devices\\VisualDSP 4.5\\Blackfin\\include\\string.h"

# 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, "<tr align=\"center\"><td>-</td><td>-</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\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, "<tr align=\"center\"><td>%u.%u.%u.%u:%u</td><td>%s</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\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);
# 208 "cgi.c"
  }
  return 0;
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -