/* * File Name : vidioctl.h * * Header file included for use by the application * or any test program in order to make custom ioctl calls. * * Work done for final project, Course: CIS5930 * Course Name: Linux Kernel Programming & Device Driver Programming * Written by: Veena Adityan and Arthi Gokarn. * Submitted to: Dr. Baker * Date: 06/20/2003 * Copyright 2003 */ #ifndef _VIDIOCTL_H #define _VIDIOCTL_H /* * Structure for returning one pixel. Used for READ_PIXEL ioctl */ struct pixel{ unsigned char x; unsigned char y; }; /* * Structure for address and value pair. * Used in POKEB ioctl to send a register address, * and receive a value at that address * TODO: Check for validity. */ struct addvalpair{ unsigned long address; unsigned char value; }; /* The magic numner */ #define PIXELSMART_IOC_MAGIC 'P' /* Define macros for the various custom ioctls */ #define VIDIOC_PEEKB _IOR(PIXELSMART_IOC_MAGIC, 1, unsigned int ) #define VIDIOC_POKEB _IOW(PIXELSMART_IOC_MAGIC, 2, struct addvalpair) #define VIDIOC_FIND_BASEADR _IOR(PIXELSMART_IOC_MAGIC, 3, unsigned long) #define VIDIOC_INITCARD _IO(PIXELSMART_IOC_MAGIC, 4) #define VIDIOC_FREEZE_IMM _IOW(PIXELSMART_IOC_MAGIC, 5, unsigned long) #define VIDIOC_FREEZE _IOW(PIXELSMART_IOC_MAGIC, 6, unsigned long) #define VIDIOC_LIVE _IOW(PIXELSMART_IOC_MAGIC,7, unsigned long) #define VIDIOC_READ_PIXEL _IOW(PIXELSMART_IOC_MAGIC,8, struct pixel) #define VIDIOC_READ_IMAGE _IOR(PIXELSMART_IOC_MAGIC,9, char *) #endif //_VIDIOCTL_H