Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*************************************************************************** * copyright : (C) 2002 by Frank Mori Hess ***************************************************************************/
#ifndef _GPIB_IOCTL_H#define _GPIB_IOCTL_H
#include <asm/ioctl.h>#include <linux/types.h>
#define GPIB_CODE 160
struct gpib_board_type_ioctl { char name[100];};
/* argument for read/write/command ioctls */struct gpib_read_write_ioctl { __u64 buffer_ptr; __u32 requested_transfer_count; __u32 completed_transfer_count; __s32 end; /* end flag return for reads, end io suppression request for cmd*/ __s32 handle;};
struct gpib_open_dev_ioctl { __u32 handle; __u32 pad; __s32 sad; __u32 is_board;};
struct gpib_close_dev_ioctl { __u32 handle;};
struct gpib_serial_poll_ioctl { __u32 pad; __s32 sad; __u8 status_byte; __u8 padding[3]; /* align to 32 bit boundary */};
struct gpib_eos_ioctl { __s32 eos; __s32 eos_flags;};
struct gpib_wait_ioctl { __s32 handle; __s32 wait_mask; __s32 clear_mask; __s32 set_mask; __s32 ibsta; __s32 pad; __s32 sad; __u32 usec_timeout;};
struct gpib_online_ioctl { __u64 init_data_ptr; __s32 init_data_length; __s32 online;};
struct gpib_spoll_bytes_ioctl { __u32 num_bytes; __u32 pad; __s32 sad;};
struct gpib_board_info_ioctl { __u32 pad; __s32 sad; __s32 parallel_poll_configuration; __s32 autopolling; __s32 is_system_controller; __u32 t1_delay; unsigned ist : 1; unsigned no_7_bit_eos : 1; unsigned padding :30; /* align to 32 bit boundary */};
struct gpib_select_pci_ioctl { __s32 pci_bus; __s32 pci_slot;};
struct gpib_ppoll_config_ioctl { __u8 config; unsigned set_ist : 1; unsigned clear_ist : 1; unsigned padding :22; /* align to 32 bit boundary */};
struct gpib_pad_ioctl { __u32 handle; __u32 pad;};
struct gpib_sad_ioctl { __u32 handle; __s32 sad;};
/* select a piece of hardware to attach by its sysfs device path */struct gpib_select_device_path_ioctl { char device_path[0x1000];};
/* update status byte and request service */struct gpib_request_service2 { __u8 status_byte; __u8 padding[3]; /* align to 32 bit boundary */ __s32 new_reason_for_service;};
/* Standard functions. */enum gpib_ioctl { IBRD = _IOWR(GPIB_CODE, 100, struct gpib_read_write_ioctl), IBWRT = _IOWR(GPIB_CODE, 101, struct gpib_read_write_ioctl), IBCMD = _IOWR(GPIB_CODE, 102, struct gpib_read_write_ioctl), IBOPENDEV = _IOWR(GPIB_CODE, 3, struct gpib_open_dev_ioctl), IBCLOSEDEV = _IOW(GPIB_CODE, 4, struct gpib_close_dev_ioctl), IBWAIT = _IOWR(GPIB_CODE, 5, struct gpib_wait_ioctl), IBRPP = _IOWR(GPIB_CODE, 6, __u8),
IBSIC = _IOW(GPIB_CODE, 9, __u32), IBSRE = _IOW(GPIB_CODE, 10, __s32), IBGTS = _IO(GPIB_CODE, 11), IBCAC = _IOW(GPIB_CODE, 12, __s32), IBLINES = _IOR(GPIB_CODE, 14, __s16), IBPAD = _IOW(GPIB_CODE, 15, struct gpib_pad_ioctl), IBSAD = _IOW(GPIB_CODE, 16, struct gpib_sad_ioctl), IBTMO = _IOW(GPIB_CODE, 17, __u32), IBRSP = _IOWR(GPIB_CODE, 18, struct gpib_serial_poll_ioctl), IBEOS = _IOW(GPIB_CODE, 19, struct gpib_eos_ioctl), IBRSV = _IOW(GPIB_CODE, 20, __u8), CFCBASE = _IOW(GPIB_CODE, 21, __u64), CFCIRQ = _IOW(GPIB_CODE, 22, __u32), CFCDMA = _IOW(GPIB_CODE, 23, __u32), CFCBOARDTYPE = _IOW(GPIB_CODE, 24, struct gpib_board_type_ioctl),
IBMUTEX = _IOW(GPIB_CODE, 26, __s32), IBSPOLL_BYTES = _IOWR(GPIB_CODE, 27, struct gpib_spoll_bytes_ioctl), IBPPC = _IOW(GPIB_CODE, 28, struct gpib_ppoll_config_ioctl), IBBOARD_INFO = _IOR(GPIB_CODE, 29, struct gpib_board_info_ioctl),
IBQUERY_BOARD_RSV = _IOR(GPIB_CODE, 31, __s32), IBSELECT_PCI = _IOWR(GPIB_CODE, 32, struct gpib_select_pci_ioctl), IBEVENT = _IOR(GPIB_CODE, 33, __s16), IBRSC = _IOW(GPIB_CODE, 34, __s32), IB_T1_DELAY = _IOW(GPIB_CODE, 35, __u32), IBLOC = _IO(GPIB_CODE, 36),
IBAUTOSPOLL = _IOW(GPIB_CODE, 38, __s16), IBONL = _IOW(GPIB_CODE, 39, struct gpib_online_ioctl), IBPP2_SET = _IOW(GPIB_CODE, 40, __s16), IBPP2_GET = _IOR(GPIB_CODE, 41, __s16), IBSELECT_DEVICE_PATH = _IOW(GPIB_CODE, 43, struct gpib_select_device_path_ioctl), /* 44 was IBSELECT_SERIAL_NUMBER */ IBRSV2 = _IOW(GPIB_CODE, 45, struct gpib_request_service2)};
#endif /* _GPIB_IOCTL_H */