File: mbuff_alloc.c

package info (click to toggle)
rtlinux 3.1pre3-3
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 4,896 kB
  • ctags: 4,228
  • sloc: ansic: 26,204; sh: 2,069; makefile: 1,414; perl: 855; tcl: 489; asm: 380; cpp: 42
file content (31 lines) | stat: -rw-r--r-- 760 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>

#include "mbuff.h"

struct mbuff_request_struct req={0,"mybuf",0,0};
void usage(char * program) {
	printf("usage: %s <shm_name> <smm_size>\n<shm_name> is max %d characters long\n",
		program,sizeof(req.name)-1);
}
main (int argc,char **argv){
	int fd;
   
	if(argc != 3 || sscanf(argv[2],"%d",&(req.size)) != 1 ) {
		usage(argv[0]);
		exit(1);
	}
	strncpy(req.name,argv[1],sizeof(req.name));
	req.name[sizeof(req.name)-1]='\0';
	if(( fd = open(MBUFF_DEV_NAME,O_RDWR) ) < 0 ){
		perror("open failed");
		exit(2);
	}
	printf("%s shared memory area is %d bytes long now\n",req.name,
		ioctl(fd,IOCTL_MBUFF_ALLOCATE,&req));
	return(0);
}