基于ARM的智能灯光控制系统总结(13-网页CGI进程之进程通信头文件)
2018-03-12 06:50
239 查看
网页cgi程序运行后为独立的进程,其直接读取或写入同主控程序共用的共享内存。主控程序根据cgi发送来的消息类型,将主数据结构内存中的数据更新至共享内存中,或者将共享内存中的数据更新至主数据结构内存。
ipc.h#ifndef __IPC_H_
#define __IPC_H_
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/shm.h>
#define CMD_GET 1
#define CMD_SET 2
int get_msgid(void)
{
int id=-1;
id=msgget((key_t)1234,0666|IPC_CREAT);
return id;
}
void * set_web_shm(void)
{
int shmid;
void * shmaddr=(void *)0;
if((shmid=shmget((key_t)112233,sizeof(struct sys_all),0666|IPC_CREAT))<0){
return NULL;
}else{
if((shmaddr=shmat(shmid,(void *)0,0))==(char *)-1){
return NULL;
}
}
return shmaddr;
}
int msg_send(int msgid,int cmd_da)
{
struct st_msg_req cmd;
cmd.index=WEB_UPDATE_SMG_INDEX;
cmd.req=cmd_da;
if(msgsnd(msgid,(void *)&cmd,1,0)){
return -1;
}
}
#endif
ipc.h#ifndef __IPC_H_
#define __IPC_H_
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/shm.h>
#define CMD_GET 1
#define CMD_SET 2
int get_msgid(void)
{
int id=-1;
id=msgget((key_t)1234,0666|IPC_CREAT);
return id;
}
void * set_web_shm(void)
{
int shmid;
void * shmaddr=(void *)0;
if((shmid=shmget((key_t)112233,sizeof(struct sys_all),0666|IPC_CREAT))<0){
return NULL;
}else{
if((shmaddr=shmat(shmid,(void *)0,0))==(char *)-1){
return NULL;
}
}
return shmaddr;
}
int msg_send(int msgid,int cmd_da)
{
struct st_msg_req cmd;
cmd.index=WEB_UPDATE_SMG_INDEX;
cmd.req=cmd_da;
if(msgsnd(msgid,(void *)&cmd,1,0)){
return -1;
}
}
#endif
相关文章推荐
- 基于ARM的智能灯光控制系统总结(11-网页CGI进程之欢迎界面)
- 基于ARM的智能灯光控制系统总结(12-网页CGI进程之网页布局函数)
- 基于ARM的智能灯光控制系统总结(14-网页CGI进程之网页数据提取函数)
- 基于ARM的智能灯光控制系统总结(15-网页CGI进程之设备添加)
- 基于ARM的智能灯光控制系统总结(16-网页CGI进程之设备管理)
- 基于ARM的智能灯光控制系统总结(17-网页CGI进程之区域添加)
- 基于ARM的智能灯光控制系统总结(18-网页CGI进程之区域管理)
- 基于ARM的智能灯光控制系统总结(19-网页CGI进程之makefile)
- 基于ARM的智能灯光控制系统总结(10-主控进程的makefile文件)
- 基于ARM的智能灯光控制系统(6)进程通信
- 基于ARM的智能灯光控制系统(6)进程通信
- 基于ARM的智能灯光控制系统总结(8-网络客户端进程)
- 基于ARM的智能灯光控制系统总结(9-主控进程的设备状态更新线程)
- 基于ARM的智能灯光控制系统总结(7-主控端网络监听、连接及控制线程)
- 基于ARM的智能灯光控制系统总结(4-设备链表)
- 基于ARM的智能灯光控制系统总结(2-驱动开发)
- 基于ARM的智能灯光控制系统总结(3-主程序及全局数据结构)
- 基于ARM的智能灯光控制系统总结(1-项目介绍)
- 基于ARM的智能灯光控制系统总结(6-设备动态更新线程)
- 基于ARM的智能灯光控制系统(7)设备更新