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

📄 connvar.lst

📁 世纪民生公司的带网络功能的单片机CS6209开发http服务器的演示源代码。
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   CONNVAR                                                               10/12/2006 15:31:41 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CONNVAR
OBJECT MODULE PLACED IN .\Release\Connvar.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\lib\httpserver\Connvar.c LARGE OPTIMIZE(9,SIZE) BROWSE ORDER MODDP2 I
                    -NCDIR(..\..\inc\) DEBUG OBJECTEXTEND PRINT(.\Release\Connvar.lst) OBJECT(.\Release\Connvar.obj)

line level    source

   1          /*
   2           * 
   3           * Connvar.c
   4           * 
   5           * Part of the Myson Century CS620X     demo program.
   6           *
   7           * Authors: LY Lin, WM Wang, IJ Chen, WH Lee
   8           *
   9           * Connvar.c contains HTTP connection variable routines.
  10           *
  11           * This program was developed using the Keil 8051 C uVision 2 system.
  12           * The Keil compiler MUST be used if working with Myson Century supplied
  13           * firmware.
  14           *
  15           * 
  16           *
  17          */
  18          #include <stdio.h>
  19          #include <ctype.h>
  20          #include <stdlib.h>
  21          #include <string.h>
  22          
  23          #include "hpserver.h"
  24          #include "timer.h"
  25          #include "ether.h"
  26          #include "netutil.h"
  27          #include "net.h"
  28          #include "ip.h"
  29          #include "tcp.h"
  30          #include "config.h"
  31          #include "http.h"
  32          #include "strutil.h"
  33          
  34          
  35          /************************************************************************
  36          /*      Function Name : put_connvar                                                                                     *
  37          /*                                                                                                                                              *
  38          /*      Arguments :                                                                                                             *
  39          /*                      TSOCK xdata *ts: Point to TSOCK.                                                        *
  40          /*                      char xdata *name: The name to be put.                                           *
  41          /*                      char xdata *val: The value to be put.                                           *
  42          /*                                                                                                                                              *
  43          /*      Return :                                                                                                                        *
  44          /*                      Return 1 if success.                                                                            *
  45          /*                      Return 0 if no room.                                                                            * 
  46          /*                                                                                                                                              *
  47          /*  Comment :                                                                                                                   *
  48          /*                      Add a variable to the connection variable space.                        *
  49          /*                                                                                                                                              *
  50          /************************************************************************/
  51          int put_connvar(TSOCK xdata *ts, char xdata *name, char xdata *val)
  52          {
  53   1          return(put_connvarlen(ts, name, strlen(name), val, strlen(val)));
  54   1      }
C51 COMPILER V7.50   CONNVAR                                                               10/12/2006 15:31:41 PAGE 2   

  55          
  56          /************************************************************************
  57          /*      Function Name : put_connvarlen                                                                          *
  58          /*                                                                                                                                              *
  59          /*      Arguments :                                                                                                             *
  60          /*                      TSOCK xdata *ts: Point to TSOCK.                                                        *
  61          /*                      char xdata *name: The name to be put.                                           *
  62          /*                      int namlen:The length of 'name'.                                                        *
  63          /*                      char xdata *val: The value to be put.                                           *
  64          /*                      int valen:The length of 'val'.                                                          *
  65          /*                                                                                                                                              *
  66          /*      Return :                                                                                                                        *
  67          /*                      Return 1 if success.                                                                            *
  68          /*                      Return 0 if no room.                                                                            *
  69          /*                                                                                                                                              *
  70          /*  Comment :                                                                                                                   *
  71          /*                      Add a variable to the connection variable space.                        *
  72          /*                                                                                                                                              *
  73          /************************************************************************/
  74          int put_connvarlen(TSOCK xdata *ts, char xdata *name, int namlen, char xdata *val, int valen)
  75          {
  76   1          int ok=0;
  77   1          APPDATA *adp;
  78   1      
  79   1          adp = (APPDATA *)ts->app;
  80   1          if (adp->vlen+namlen+valen+3<http_varspace &&
  81   1              namlen<http_max_eginame && valen<http_max_egival)
  82   1          {
  83   2              adp->vars[adp->vlen++] = (char)(namlen | 0x80);
  84   2              strncpy(&adp->vars[adp->vlen], name, namlen);
  85   2              adp->vlen += namlen;
  86   2              adp->vars[adp->vlen++] = 0;
  87   2              strncpy(&adp->vars[adp->vlen], val, valen);
  88   2              adp->vlen += valen;
  89   2              adp->vars[adp->vlen++] = 0;
  90   2          }
  91   1          return(ok);
  92   1      }
  93          
  94          /************************************************************************
  95          /*      Function Name : get_connvar                                                                                     *
  96          /*                                                                                                                                              *
  97          /*      Arguments :                                                                                                             *
  98          /*                      TSOCK xdata *ts: Point to TSOCK.                                                        *
  99          /*                      char xdata *name: Point to name string.                                         *               
 100          /*                                                                                                                                              *
 101          /*      Return :                                                                                                                        *
 102          /*                      Point to variable or                                                                            *
 103          /*                      NULL if fail.                                                                                           *
 104          /*                                                                                                                                              *
 105          /*  Comment :                                                                                                                   *
 106          /*                      Get variable from the connection space.                                         *
 107          /*                                                                                                                                              *
 108          /************************************************************************/
 109          char *get_connvar(TSOCK xdata *ts, char xdata *name)
 110          {
 111   1          int n, len;
 112   1          APPDATA *adp;
 113   1          char *s=0, *end;
 114   1      
 115   1          adp = (APPDATA *)ts->app;
 116   1          end = &adp->vars[adp->vlen];
C51 COMPILER V7.50   CONNVAR                                                               10/12/2006 15:31:41 PAGE 3   

 117   1          n = strlen(name);
 118   1          if (n < http_max_eginame)
 119   1          {
 120   2              s = memchr(adp->vars, (char)(n | 0x80), adp->vlen-3);
 121   2              while (s && strncmp(s+1, name, n) && (len=(int)(end-s))>3)
 122   2                  s = memchr(s+1, (char)(n | 0x80), len);
 123   2          }
 124   1          return(s ? s+n+2 : "");
 125   1      }
 126          
 127          /************************************************************************
 128          /*      Function Name : find_connvar                                                                            *
 129          /*                                                                                                                                              *
 130          /*      Arguments :                                                                                                             *
 131          /*                      TSOCK xdata *ts: Point to TSOCK.                                                        *
 132          /*                      char xdata *name: Point to name string.                                         *               
 133          /*                                                                                                                                              *
 134          /*      Return :                                                                                                                        *
 135          /*                      Point to variable or                                                                            *
 136          /*                      NULL if fail.                                                                                           *
 137          /*                                                                                                                                              *
 138          /*  Comment :                                                                                                                   *
 139          /*                      Find variable in the connection space, by matching first        *
 140          /*                      few chars.                                                                                                      *
 141          /*                                                                                                                                              *
 142          /************************************************************************/
 143          char *find_connvar(TSOCK xdata *ts, unsigned char *name)
 144          {
 145   1          int n;
 146   1          APPDATA *adp;

⌨️ 快捷键说明

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