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

📄 p11.3.c

📁 linux编程源代码,其中是由大量的实例
💻 C
字号:
#include <stdio.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#define LINUX_ENV#ifdef LINUX_ENV#define _GNU_SOURCE#endifint main(void){	key_t key;	int proj_id;	int msqid;	struct msqid_ds buffer;	proj_id=2;	key=ftok("/home/program",proj_id);	if(key==-1){		perror("cannot generate the IPC key");		return 1;	}	msqid=msgget(key,IPC_CREAT | 0660);	if(msqid==-1){		perror("cannot create message queue resource");		return 1;	}	msgctl(msqid,IPC_STAT,&buffer);	printf("=======Message Queue Info========\n");	printf("effective user id : %d \n",buffer.msg_perm.uid);	printf("effective group id: %d \n",buffer.msg_perm.gid);	printf("message queue's creator user id : %d \n",buffer.msg_perm.cuid);	printf("message queue's creator group id : %d \n",buffer.msg_perm.cgid);	printf("access mode : %x\n",buffer.msg_perm.mode);       	printf("Maximum number of bytes allowed in message queue : %d \n",buffer.msg_qbytes);	printf("Current number of bytes in message queue (non-standard) : %d \n",buffer.__msg_cbytes);	printf("Current number of messages in message queue : %d \n",buffer.msg_qnum);	//special parameter, only for linux#ifdef LINUX_ENV	msgctl(msqid,MSG_INFO,&buffer);	struct msginfo* queue_info;	queue_info=(struct msginfo *)(&buffer);	printf("Size in bytes of buffer pool used to hold message data : %d \n",queue_info->msgpool);	printf("Max. # of entries in message map : %d \n",queue_info->msgmap);	printf("Max. # of bytes that can be written in a single message : %d \n",queue_info->msgmax);	printf("Max. # of bytes that can be written to queue : %d \n",queue_info->msgmnb);	printf("Max. # of message queues : %d \n",queue_info->msgmni);	printf("Max. # of segments : %d \n",queue_info->msgseg);#endif}

⌨️ 快捷键说明

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