Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42859
  • 博文数量: 27
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 12:09
文章分类
文章存档

2012年(27)

我的朋友

分类:

2012-10-31 11:01:31

cgi.ccgi

int websCgiHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg, char_t *url, char_t *path, char_t* query)

功能:处理cgi请求。

说明:

1.       抽出页面上form中调用的cgi程序的名字,构建完整的路径/ata0/webs/www/*

2.       进入到cgi程序所在的目录,即/ata0/webs/www

3.       分配内存,建立cgi程序的参数,主要是从也空格分割的qurey中提取出来

4.       cgi的环境变量中,构建名、值对。

5.       确定标准输入、输出。标准输出是个临时文件。

6.       调用websLaunchCgiProc,建立cgi处理程序。

-----------------------------------------------------------------------------------------------------------------

 

void websCgiGatherOutput (cgiRec *cgip)

功能:将临时文件中的内容输出到浏览器上。

说明:也就是将cgi程序prinf出的内存到临时文件,然后读取临时文件中的内容到浏览器上。

-----------------------------------------------------------------------------------------------------------------

 

void websCgiCleanup()

功能:调用websCgiGatherOutput处理输出,清空cgi所占用的资源

说明:

-----------------------------------------------------------------------------------------------------------------

 

char_t *websGetCgiCommName()

功能:临时文件名

说明:

-----------------------------------------------------------------------------------------------------------------

 

int websLaunchCgiProc(char_t *cgiPath, char_t **argp, char_t **envp, char_t *stdIn, char_t *stdOut)

功能:cgi处理程序。

说明:

1.       根据cgiPath,卸载已有的module

2.       查找_www_cgientry的对应值,找到就将值赋给entryAddr,生成任务vxWebsCgiEntry

3.       如果找不到,就加载cgiPath,生成任务vxWebsCgiEntry

-----------------------------------------------------------------------------------------------------------------

 

static void vxWebsCgiEntry(void *entryAddr(int argc, char_t **argv), char_t **argp, char_t **envp, char_t *stdIn, char_t *stdOut)

功能:cgi程序的外壳,都是通过调用它,来调用cgi程序

说明:设置该任务的标准输入、输出为stdInstdOut,创建环境变量,用envp对环境变量赋值,调用cgi处理函数entryAddr

-----------------------------------------------------------------------------------------------------------------

 

int websCheckCgiProc(int handle)

功能:检查cgi任务是否存在

说明:

-----------------------------------------------------------------------------------------------------------------

 

阅读(310) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~