您的位置:首页 > 其它

基于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐