📄 rc_ctl_table.h
字号:
/*
* 文 件 名:rc_ctl_table.h
* 功 能:链表相关的函数接口
* 作 者:马云龙
* E_mail : mayunlong21@163.com
* 开始时间:2007-4-23 16:05
* 结束时间:2007-4-27 13:12
* 修改时间:
*/
#ifndef RC_CTL_TABLE_H//2007-4-23 16:05
#define RC_CTL_TABLE_H
#include "rc_ctl_define.h"
/*
* 功 能:创建一个新的发送任务数据
* 参 数:ctlinfo:链接相关信息
* type:链接类型,摄像机或者控件
* fifo:从管道中读出的内容
* buf:要发送的内容
* len:要发送的内容的长度
* 返回值:成功返回发送任务的指针,否则返回一个空指针
*/
struct_task_net_w *rc_create_task_new_w(struct_msg_con *ctlinfo, unsigned char type, struct_buf_fifo *fifo, char *buf, int len);
/*
* 功 能:向读任务的队列中添加新的任务
* 参 数:head:任务队列的头指针
* newtask:新的任务的指针
* 返回值:成功返回0,否则返回-1
* 说 明:是将newtask的地址添加到任务队列尾,不对task做任何操作,
* newtask必须是一个临时分配的内存区
*/
int rc_add_task_r(struct_task_net_r **head, struct_task_net_r *newtask);
/*
* 功 能:删除读任务的队列
* 参 数:head:任务队列的头指针
* 返回值:直接返回0
*/
int rc_del_task_r_all(struct_task_net_r **head);
/*
* 功 能:向链接链表中添加一个新的链接
* 参 数:head:链表队列的头指针
* newcon:新的链接的指针
* 返回值:成功返回0,否则返回-1
* 说 明:是将newcon的地址添加到任务队列尾,不对task做任何操作,
* newcon必须是一个临时分配好的内存区
*/
int rc_add_connection(struct_msg_con **head, struct_msg_con *newcon);
/*
* 功 能:从链接链表中删除一个链接
* 参 数:head:链表队列的头指针
* sockfd:要删除的链接的sockfd值
* 返回值:成功返回1,找不到相匹配的链接返回0,失败返回-1
* 说 明:删除的时候已经将sockfd关闭
*/
int rc_del_connection_one(struct_msg_con **head, int sockfd);
/*
* 功 能:根据sockfd从链接信息的链表中获取摄像机的相关链接信息
* 参 数:sockfd:socket的id
* head:链接信息链表的头指针
* 返回值:成功返回链接信息的指针,否则返回空指针
*/
struct_msg_con *rc_get_lnk_cam(struct_msg_con *head, int sockfd);
/*
* 功 能:根据sockfd从链接信息的链表中获取控件的相关链接信息
* 参 数:sockfd:socket的id
* head:链接信息链表的头指针
* 返回值:成功返回链接信息的指针,否则返回空指针
*/
struct_msg_atx *rc_get_lnk_atx(struct_msg_atx *head, int sockfd);
/*
* 功 能:根据摄像机的序列号获取摄像机的在线信息
* 参 数:serial:摄像机序列号
* head:链接信息链表的头指针
* cam:摄像机的相关链接信息
* 返回值:如果摄像机在线返回0,否则返回-1
* 说 明:是否要加互斥锁要视具体情况而定
* 以最后链接上来的那个链接为准
*/
int rc_get_info_cam(const unsigned char *serial, struct_msg_con *head, struct_info_link *cam);
/*
* 功 能:根据摄像机的序列号获取所有信息
* 参 数:serial:摄像机序列号
* head:链接信息链表的头指针
* type:链接类型
* cam:摄像机的所有相关信息
* 返回值:如果摄像机在线返回0,否则返回-1
* 说 明:是否要加互斥锁要视具体情况而定
* 以最后链接上来的那个链接为准
*/
int rc_get_msg_all(const unsigned char *serial, struct_msg_con *head, unsigned char type, struct_msg_con *cam);
/*
* 功 能:向写任务的队列中添加新的任务
* 参 数:head:任务队列的头指针
* newtask:新的任务的指针
* 返回值:成功返回0,否则返回-1
* 说 明:是将newtask的地址添加到任务队列尾,不对task做任何操作,
* newtask必须是一个临时分配的内存区
*/
int rc_add_task_w(struct_task_net_w **head, struct_task_net_w *newtask);
/*
* 功 能:根据sockfd从写任务的队列中删除一个写任务
* 参 数:head:任务队列的头指针
* sockfd:要删除的文件描述符
* 返回值:直接返回0
*/
int rc_del_task_w_one(struct_task_net_w **head, int sockfd);
/*
* 功 能:根据进程的pid来保存任务
* 参 数:task:已经发送成功的任务队列的头指针
* pid:进程id
* serial:摄像机序列号
* mysql:链接好的数据库
* 返回值:成功返回0,否则返回-1
* 说 明:是保存信息至数据库
*/
int rc_task_save_sended(struct_task_sended *task, pid_t pid, const unsigned char *serial, struct_lab_mysql *lab_mysql);
/*
* 功 能:根据进程的pid来删除已经发送过的任务
* 参 数:pid:进程id
* 返回值:成功返回0,没有这个pid返回-1
*/
int rc_task_del_sended(struct_task_sended **head, pid_t pid);
/*
* 功 能:向控件的链接链表中添加一个新的控件链接
* 参 数:head:链表队列的头指针
* newcon:新的链接的指针
* 返回值:成功返回0,否则返回-1
* 说 明:是将newcon的地址添加到任务队列尾,不对task做任何操作,
* newcon必须是一个临时分配好的内存区
*/
int rc_add_atx(struct_msg_atx **head, struct_msg_atx *newcon);
/*
* 功 能:从控件链接链表中删除一个控件
* 参 数:head:链表队列的头指针
* sockfd:控件的socket的id
* 返回值:成功返回1,找不到相匹配的链接返回0,失败返回-1
* 说 明:删除的时候已经将sockfd关闭
*/
int rc_del_atx_one(struct_msg_atx **head, int sockfd);
/*
* 功 能:根据sockfd从控件链接链表中找到这个控件的其它相关信息
* 参 数:head:链表队列的头指针
* sockfd:控件的socket的id
* atx:要查找的控件的信息
* 返回值:成功返回1,找不到相匹配的链接返回0,失败返回-1
* 说 明:删除的时候已经将sockfd关闭
*/
int rc_info_atx(struct_msg_atx *head, int sockfd, struct_msg_atx *atx);
/*
* 功 能:根据摄像机的序列号获取摄像机的内网信息
* 参 数:serial:摄像机序列号
* head:链接信息链表的头指针
* cam:摄像机的相关内网信息
* 返回值:如果摄像机在线返回0,否则返回-1
* 说 明:是否要加互斥锁要视具体情况而定
* 以最后链接上来的那个链接为准
*/
int rc_get_cam_local(const unsigned char *serial, struct_msg_con *head, struct_cam_local *cam);
#endif//2007-4-23 16:05
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -