int main(int argc ,char*argv[])
{
	int fd;
//	int ret;
	char*msg;
	int choice;
	int ret1;
	int ret;
	fd=open(argv[1],O_RDWR|O_CREAT,0666);
	if(fd==-1)
	{
		perror(" ");
		exit(1);
	}
//	ioctl(fd, IOCTL_SET_MSG,"vishnu");

//	ret=ioctl(fd,IOCTL_SET,msg);
//	printf("IOCTL_SET_MSG=%d\n",DN_SETCOUNT);
	printf("1.WRITE\t 2.READ\t 3. EXIT\n");
	while(1)
	{
	printf("enter choice\n");
	scanf("%d",&choice);
	__fpurge(stdin);;
	switch(choice)
	{
		case 1:
			printf("in user write\n");
			ioctl(fd,IOCTL_SET_MSG,"prashant");
			if(ret==-1)
			{
				perror(" ");
				exit(2);
			}
			
			break;
		case 2:
			printf("in user read\n");
			ret1=ioctl_get_msg(fd);
			if(ret1==-1)
			{
				perror(" ");
				exit(1);
			}
			break;
		case 3:
			exit(1);
	}
	
}
			
}
Exemple #2
0
int
main(int argc, char **argv)
{
	int fd, error = 0;
	char zvol_name[ZFS_MAXNAMELEN], zvol_name_part[ZFS_MAXNAMELEN];
	char *dev_name;
	struct stat statbuf;
	int dev_minor, dev_part;
	int i;

	if (argc < 2) {
		printf("Usage: %s /dev/zvol_device_node\n", argv[0]);
		return (EINVAL);
	}

	dev_name = argv[1];
	error = stat(dev_name, &statbuf);
	if (error != 0) {
		printf("Unable to access device file: %s\n", dev_name);
		return (errno);
	}

	dev_minor = minor(statbuf.st_rdev);
	dev_part = dev_minor % ZVOL_MINORS;

	fd = open(dev_name, O_RDONLY);
	if (fd < 0) {
		printf("Unable to open device file: %s\n", dev_name);
		return (errno);
	}

	error = ioctl_get_msg(zvol_name, fd);
	if (error < 0) {
		printf("ioctl_get_msg failed:%s\n", strerror(errno));
		return (errno);
	}
	if (dev_part > 0)
		snprintf(zvol_name_part, ZFS_MAXNAMELEN, "%s-part%d", zvol_name,
		    dev_part);
	else
		snprintf(zvol_name_part, ZFS_MAXNAMELEN, "%s", zvol_name);

	for (i = 0; i < strlen(zvol_name_part); i++) {
		if (isblank(zvol_name_part[i]))
			zvol_name_part[i] = '+';
	}

	printf("%s\n", zvol_name_part);
	close(fd);
	return (error);
}
Exemple #3
0
main ()
{
  int file_desc, ret_val;
  char *msg = "Message passed by ioctl\n";
  file_desc = open(DEVICE_FILE_NAME, 0);
  if (file_desc < 0) {
    printf("Can't open device file: %s\n", DEVICE_FILE_NAME);
    exit(-1);
  }

  ioctl_get_nth_byte(file_desc);
  ioctl_get_msg(file_desc);
  ioctl_set_msg(file_desc, msg);

  close(file_desc);
}
Exemple #4
0
/*
  main()
//*/
int main(void)
{
    int fd=0, ret=0;
    char* msg = "message passed by ioctl\n";

    fd = open(DEVICE_FILE_NAME, 0);
    if(0 > fd) {
        printf("can't open device file: %s\n", DEVICE_FILE_NAME);
        exit(EXIT_FAILURE);
    }

    ioctl_get_nth_byte(fd);
    ioctl_get_msg(fd);
    ioctl_set_msg(fd, msg);

    close(fd);
}
Exemple #5
0
int main() {
	int fd, status;

	printf("opening device %s\n", DEVICE_FILE_NAME);

	while (1) {
		fd = open(DEVICE_FILE_NAME, O_RDWR);

		if (fd < 0) {
			perror("file open faild");
			exit(1);
		}

		ioctl_get_msg(fd);

		close(fd);
	}
}
Exemple #6
0
/*
 * Main - Call the ioctl functions
 */
int main(int argc, char *argv[])
{
	int file_desc;
	char buf[1024];
	struct  timeval    tv;

	file_desc = open(DEVICE_FILE_NAME, 0);
	if (file_desc < 0) {
		printf("Can't open device file: %s\n", DEVICE_FILE_NAME);
		exit(-1);
	}
	gettimeofday(&tv, NULL);

	snprintf(buf, 1024, "%ld.%06ld:Message passed by ioctl\n", tv.tv_sec, tv.tv_usec);
	ioctl_get_nth_byte(file_desc);
	ioctl_get_msg(file_desc);
	ioctl_set_msg(file_desc, buf);

	close(file_desc);
	return 0;
}
Exemple #7
0
int main(int argc,char **argv) 
{
	char msg[80];
	int fd=-1;

	if(argc!=2) {
		printf("Usage <dev file name>\n");
		return -1;
	}
	fd=open(argv[1],O_RDONLY|O_WRONLY);	
	if(fd < 0) {
		printf("Unable to open the device file\n");
		return -2;
	}
	printf("calling ioctl_get_msg function\n");
	ioctl_get_msg(fd);
	printf("calling ioctl_set_msg function\n");
	strcpy(msg,"Hello world\n");
	ioctl_set_msg(fd,msg);
	printf("calling ioctl_get_nth_byte functio\n");
	ioctl_get_nth_byte(fd);
	close(fd);
}