/usr/include/linux
NameSizeModeActions
byteorder/-0755rm
can/-0755rm
dvb/-0755rm
hdlc/-0755rm
isdn/-0755rm
netfilter/-0755rm
netfilter_arp/-0755rm
netfilter_bridge/-0755rm
netfilter_ipv4/-0755rm
netfilter_ipv6/-0755rm
nfsd/-0755rm
raid/-0755rm
spi/-0755rm
sunrpc/-0755rm
tc_act/-0755rm
tc_ematch/-0755rm
usb/-0755rm
wimax/-0755rm
a.out.h73190644editdlrm
acct.h34900644editdlrm
adb.h10770644editdlrm
adfs_fs.h8560644editdlrm
affs_hardblocks.h14810644editdlrm
agpgart.h39250644editdlrm
aio_abi.h31120644editdlrm
apm_bios.h35440644editdlrm
arcfb.h1500644editdlrm
atalk.h9270644editdlrm
atm.h78060644editdlrm
atmapi.h8890644editdlrm
atmarp.h12330644editdlrm
atmbr2684.h32080644editdlrm
atmclip.h5130644editdlrm
atmdev.h75930644editdlrm
atmioc.h15830644editdlrm
atmlec.h25610644editdlrm
atmmpc.h41630644editdlrm
atmppp.h5760644editdlrm
atmsap.h49070644editdlrm
atmsvc.h17900644editdlrm
atm_eni.h5850644editdlrm
atm_he.h3430644editdlrm
atm_idt77105.h8920644editdlrm
atm_nicstar.h12150644editdlrm
atm_tcp.h15370644editdlrm
atm_zatm.h16060644editdlrm
audit.h158800644editdlrm
auto_fs.h23460644editdlrm
auto_fs4.h41310644editdlrm
auxvec.h13840644editdlrm
ax25.h27520644editdlrm
b1lli.h16540644editdlrm
baycom.h8200644editdlrm
bfs_fs.h18300644editdlrm
binfmts.h5650644editdlrm
blkpg.h15980644editdlrm
blktrace_api.h44730644editdlrm
blk_types.h71060644editdlrm
bpqether.h9520644editdlrm
bsg.h23850644editdlrm
can.h33260644editdlrm
capability.h105890644editdlrm
capi.h30570644editdlrm
cciss_ioctl.h58240644editdlrm
cdk.h127700644editdlrm
cdrom.h281290644editdlrm
cgroupstats.h21550644editdlrm
chio.h52800644editdlrm
cm4000_cs.h17180644editdlrm
cn_proc.h27150644editdlrm
coda.h174870644editdlrm
coda_psdev.h6790644editdlrm
coff.h124130644editdlrm
comstats.h31200644editdlrm
connector.h21290644editdlrm
const.h6820644editdlrm
cramfs_fs.h29300644editdlrm
cuda.h7690644editdlrm
cyclades.h170450644editdlrm
cycx_cfm.h29260644editdlrm
dcbnl.h221200644editdlrm
dccp.h58000644editdlrm
dlm.h25290644editdlrm
dlmconstants.h50130644editdlrm
dlm_device.h24800644editdlrm
dlm_netlink.h10640644editdlrm
dlm_plock.h8060644editdlrm
dm-ioctl.h106680644editdlrm
dm-log-userspace.h151730644editdlrm
dn.h45270644editdlrm
dqblk_xfs.h69520644editdlrm
edd.h55440644editdlrm
efs_fs_sb.h21640644editdlrm
elf-em.h18340644editdlrm
elf-fdpic.h25570644editdlrm
elf.h112360644editdlrm
elfcore.h29320644editdlrm
errno.h790644editdlrm
errqueue.h4430644editdlrm
ethtool.h341660644editdlrm
eventpoll.h13530644editdlrm
ext2_fs.h188020644editdlrm
fadvise.h8550644editdlrm
falloc.h2930644editdlrm
fb.h160160644editdlrm
fcntl.h16070644editdlrm
fd.h115630644editdlrm
fdreg.h53550644editdlrm
fib_rules.h14590644editdlrm
fiemap.h25480644editdlrm
filter.h35340644editdlrm
firewire-cdev.h250530644editdlrm
firewire-constants.h19750644editdlrm
flat.h20850644editdlrm
fs.h189100644editdlrm
fuse.h114410644editdlrm
futex.h49090644editdlrm
gameport.h8160644editdlrm
generic_serial.h8950644editdlrm
genetlink.h16830644editdlrm
gen_stats.h13040644editdlrm
gfs2_ondisk.h118140644editdlrm
gigaset_dev.h9810644editdlrm
hayesesp.h2300644editdlrm
hdlc.h5740644editdlrm
hdlcdrv.h28450644editdlrm
hdreg.h226400644editdlrm
hid.h18240644editdlrm
hiddev.h62650644editdlrm
hidraw.h12170644editdlrm
hpet.h6860644editdlrm
hysdn_if.h13190644editdlrm
i2c-dev.h24030644editdlrm
i2c.h66310644editdlrm
i2o-dev.h114880644editdlrm
i8k.h14380644editdlrm
icmp.h28920644editdlrm
icmpv6.h38310644editdlrm
if.h86730644editdlrm
if_addr.h14560644editdlrm
if_addrlabel.h6580644editdlrm
if_arcnet.h37180644editdlrm
if_arp.h61090644editdlrm
if_bonding.h40760644editdlrm
if_bridge.h38100644editdlrm
if_cablemodem.h9100644editdlrm
if_ec.h9010644editdlrm
if_eql.h12840644editdlrm
if_ether.h65390644editdlrm
if_fc.h16740644editdlrm
if_fddi.h37000644editdlrm
if_frad.h29400644editdlrm
if_hippi.h41750644editdlrm
if_infiniband.h11450644editdlrm
if_link.h120780644editdlrm
if_ltalk.h1250644editdlrm
if_packet.h35300644editdlrm
if_phonet.h3370644editdlrm
if_plip.h5960644editdlrm
if_ppp.h69380644editdlrm
if_pppol2tp.h19830644editdlrm
if_pppox.h37720644editdlrm
if_slip.h8090644editdlrm
if_strip.h7000644editdlrm
if_tr.h31990644editdlrm
if_tun.h30140644editdlrm
if_tunnel.h14590644editdlrm
if_vlan.h17080644editdlrm
igmp.h29280644editdlrm
in.h92030644editdlrm
in6.h74950644editdlrm
inet_diag.h24530644editdlrm
inotify.h28380644editdlrm
input.h275940644editdlrm
in_route.h8730644editdlrm
ioctl.h1000644editdlrm
ip.h35550644editdlrm
ip6_tunnel.h10730644editdlrm
ipc.h20380644editdlrm
ipmi.h165430644editdlrm
ipmi_msgdefs.h44770644editdlrm
ipsec.h8840644editdlrm
ipv6.h28920644editdlrm
ipv6_route.h16140644editdlrm
ipx.h18240644editdlrm
ip_vs.h125830644editdlrm
irda.h76510644editdlrm
irqnr.h930644editdlrm
isdn.h56870644editdlrm
isdnif.h23060644editdlrm
isdn_divertif.h10380644editdlrm
isdn_ppp.h18590644editdlrm
iso_fs.h64390644editdlrm
ivtv.h27260644editdlrm
ivtvfb.h11430644editdlrm
ixjuser.h251160644editdlrm
jffs2.h69490644editdlrm
joystick.h35870644editdlrm
kd.h61690644editdlrm
kdev_t.h2980644editdlrm
kernel.h24570644editdlrm
kernelcapi.h9590644editdlrm
keyboard.h126950644editdlrm
keyctl.h29840644editdlrm
kvm.h206810644editdlrm
kvm_para.h5640644editdlrm
libc-compat.h35400644editdlrm
limits.h8740644editdlrm
llc.h28350644editdlrm
loop.h21890644editdlrm
lp.h37940644editdlrm
magic.h22920644editdlrm
major.h46550644editdlrm
map_to_7segment.h71870644editdlrm
matroxfb.h14290644editdlrm
mempolicy.h20520644editdlrm
meye.h25440644editdlrm
mii.h79500644editdlrm
minix_fs.h20590644editdlrm
mman.h2300644editdlrm
mmtimer.h20540644editdlrm
mqueue.h20550644editdlrm
mroute.h38130644editdlrm
mroute6.h39910644editdlrm
msdos_fs.h58390644editdlrm
msg.h25390644editdlrm
mtio.h80800644editdlrm
nbd.h19580644editdlrm
ncp.h50550644editdlrm
ncp_fs.h33540644editdlrm
ncp_mount.h21120644editdlrm
ncp_no.h6510644editdlrm
neighbour.h40600644editdlrm
net.h20210644editdlrm
netdevice.h17710644editdlrm
netfilter.h15460644editdlrm
netfilter_arp.h3800644editdlrm
netfilter_bridge.h7350644editdlrm
netfilter_decnet.h18720644editdlrm
netfilter_ipv4.h20320644editdlrm
netfilter_ipv6.h20500644editdlrm
netlink.h49690644editdlrm
netrom.h7190644editdlrm
net_dropmon.h10910644editdlrm
net_tstamp.h34680644editdlrm
nfs.h43510644editdlrm
nfs2.h14050644editdlrm
nfs3.h22070644editdlrm
nfs4.h57630644editdlrm
nfs4_mount.h18690644editdlrm
nfsacl.h5770644editdlrm
nfs_fs.h15520644editdlrm
nfs_idmap.h22380644editdlrm
nfs_mount.h32000644editdlrm
nl80211.h1923540644editdlrm
nubus.h83660644editdlrm
nvram.h4700644editdlrm
n_r3964.h23490644editdlrm
oom.h4560644editdlrm
param.h780644editdlrm
parport.h36440644editdlrm
patchkey.h8310644editdlrm
pci.h14850644editdlrm
pci_regs.h379750644editdlrm
perf_event.h218490644editdlrm
personality.h19980644editdlrm
pfkeyv2.h101470644editdlrm
pg.h22820644editdlrm
phantom.h15900644editdlrm
phonet.h43490644editdlrm
pktcdvd.h26230644editdlrm
pkt_cls.h92930644editdlrm
pkt_sched.h108870644editdlrm
pmu.h51870644editdlrm
poll.h960644editdlrm
posix_types.h12700644editdlrm
ppdev.h31470644editdlrm
ppp-comp.h65160644editdlrm
ppp_defs.h64610644editdlrm
pps.h39390644editdlrm
prctl.h49720644editdlrm
ptp_clock.h34960644editdlrm
ptrace.h22900644editdlrm
qnx4_fs.h22650644editdlrm
qnxtypes.h5610644editdlrm
quota.h57230644editdlrm
radeonfb.h2970644editdlrm
random.h10850644editdlrm
raw.h3020644editdlrm
reboot.h12800644editdlrm
reiserfs_fs.h9070644editdlrm
reiserfs_xattr.h4650644editdlrm
resource.h20870644editdlrm
rfkill.h33840644editdlrm
romfs_fs.h11270644editdlrm
rose.h21000644editdlrm
route.h22690644editdlrm
rtc.h36960644editdlrm
rtnetlink.h153350644editdlrm
scc.h45430644editdlrm
sched.h20960644editdlrm
screen_info.h22020644editdlrm
sdla.h28370644editdlrm
selinux_netlink.h11320644editdlrm
sem.h36660644editdlrm
serial.h67800644editdlrm
serial_core.h40240644editdlrm
serial_reg.h132450644editdlrm
serio.h16880644editdlrm
shm.h21870644editdlrm
signal.h1290644editdlrm
signalfd.h10960644editdlrm
smb.h12090644editdlrm
smbno.h145200644editdlrm
smb_fs.h5350644editdlrm
smb_mount.h4680644editdlrm
snmp.h111570644editdlrm
socket.h7380644editdlrm
sockios.h59670644editdlrm
som.h54800644editdlrm
sonet.h22070644editdlrm
sonypi.h51360644editdlrm
sound.h10990644editdlrm
soundcard.h460190644editdlrm
stat.h10050644editdlrm
stddef.h6330644editdlrm
string.h1750644editdlrm
suspend_ioctls.h13680644editdlrm
swab.h62920644editdlrm
synclink.h86950644editdlrm
sysctl.h264950644editdlrm
taskstats.h69470644editdlrm
tcp.h52050644editdlrm
telephony.h90510644editdlrm
termios.h5440644editdlrm
time.h17360644editdlrm
times.h2150644editdlrm
timex.h62210644editdlrm
tiocl.h16660644editdlrm
tipc.h59100644editdlrm
tipc_config.h153700644editdlrm
toshiba.h12840644editdlrm
tty.h1280644editdlrm
types.h9910644editdlrm
udf_fs_i.h6340644editdlrm
udp.h11660644editdlrm
uinput.h51250644editdlrm
uio.h6480644editdlrm
ultrasound.h44990644editdlrm
un.h2030644editdlrm
unistd.h1570644editdlrm
usbdevice_fs.h53400644editdlrm
utime.h1520644editdlrm
utsname.h6060644editdlrm
uuid.h17690644editdlrm
version.h2810644editdlrm
veth.h4740644editdlrm
vhost.h45660644editdlrm
videodev.h105130644editdlrm
videodev2.h660710644editdlrm
videotext.h42420644editdlrm
virtio_9p.h3510644editdlrm
virtio_balloon.h12550644editdlrm
virtio_blk.h29810644editdlrm
virtio_config.h12840644editdlrm
virtio_console.h14060644editdlrm
virtio_ids.h5450644editdlrm
virtio_net.h70260644editdlrm
virtio_pci.h22630644editdlrm
virtio_ring.h44890644editdlrm
virtio_rng.h2650644editdlrm
vt.h30700644editdlrm
wait.h5800644editdlrm
wanrouter.h178360644editdlrm
watchdog.h24000644editdlrm
wimax.h83700644editdlrm
wireless.h426530644editdlrm
x25.h34180644editdlrm
xattr.h6460644editdlrm
xfrm.h105580644editdlrm
Edit: /usr/include/linux/cdk.h (12770B)
/*****************************************************************************/ /* * cdk.h -- CDK interface definitions. * * Copyright (C) 1996-1998 Stallion Technologies * Copyright (C) 1994-1996 Greg Ungerer. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /*****************************************************************************/ #ifndef _CDK_H #define _CDK_H /*****************************************************************************/ #pragma pack(2) /* * The following set of definitions is used to communicate with the * shared memory interface of the Stallion intelligent multiport serial * boards. The definitions in this file are taken directly from the * document titled "Generic Stackable Interface, Downloader and * Communications Development Kit". */ /* * Define the set of important shared memory addresses. These are * required to initialize the board and get things started. All of these * addresses are relative to the start of the shared memory. */ #define CDK_SIGADDR 0x200 #define CDK_FEATADDR 0x280 #define CDK_CDKADDR 0x300 #define CDK_RDYADDR 0x262 #define CDK_ALIVEMARKER 13 /* * On hardware power up the ROMs located on the EasyConnection 8/64 will * fill out the following signature information into shared memory. This * way the host system can quickly determine that the board is present * and is operational. */ typedef struct cdkecpsig { unsigned long magic; unsigned short romver; unsigned short cputype; unsigned char panelid[8]; } cdkecpsig_t; #define ECP_MAGIC 0x21504345 /* * On hardware power up the ROMs located on the ONboard, Stallion and * Brumbys will fill out the following signature information into shared * memory. This way the host system can quickly determine that the board * is present and is operational. */ typedef struct cdkonbsig { unsigned short magic0; unsigned short magic1; unsigned short magic2; unsigned short magic3; unsigned short romver; unsigned short memoff; unsigned short memseg; unsigned short amask0; unsigned short pic; unsigned short status; unsigned short btype; unsigned short clkticks; unsigned short clkspeed; unsigned short amask1; unsigned short amask2; } cdkonbsig_t; #define ONB_MAGIC0 0xf2a7 #define ONB_MAGIC1 0xa149 #define ONB_MAGIC2 0x6352 #define ONB_MAGIC3 0xf121 /* * Define the feature area structure. The feature area is the set of * startup parameters used by the slave image when it starts executing. * They allow for the specification of buffer sizes, debug trace, etc. */ typedef struct cdkfeature { unsigned long debug; unsigned long banner; unsigned long etype; unsigned long nrdevs; unsigned long brdspec; unsigned long txrqsize; unsigned long rxrqsize; unsigned long flags; } cdkfeature_t; #define ETYP_DDK 0 #define ETYP_CDK 1 /* * Define the CDK header structure. This is the info that the slave * environment sets up after it has been downloaded and started. It * essentially provides a memory map for the shared memory interface. */ typedef struct cdkhdr { unsigned short command; unsigned short status; unsigned short port; unsigned short mode; unsigned long cmd_buf[14]; unsigned short alive_cnt; unsigned short intrpt_mode; unsigned char intrpt_id[8]; unsigned char ver_release; unsigned char ver_modification; unsigned char ver_fix; unsigned char deadman_restart; unsigned short deadman; unsigned short nrdevs; unsigned long memp; unsigned long hostp; unsigned long slavep; unsigned char hostreq; unsigned char slavereq; unsigned char cmd_reserved[30]; } cdkhdr_t; #define MODE_DDK 0 #define MODE_CDK 1 #define IMD_INTR 0x0 #define IMD_PPINTR 0x1 #define IMD_POLL 0xff /* * Define the memory mapping structure. This structure is pointed to by * the memp field in the stlcdkhdr struct. As many as these structures * as required are layed out in shared memory to define how the rest of * shared memory is divided up. There will be one for each port. */ typedef struct cdkmem { unsigned short dtype; unsigned long offset; } cdkmem_t; #define TYP_UNDEFINED 0x0 #define TYP_ASYNCTRL 0x1 #define TYP_ASYNC 0x20 #define TYP_PARALLEL 0x40 #define TYP_SYNCX21 0x60 /*****************************************************************************/ /* * Following is a set of defines and structures used to actually deal * with the serial ports on the board. Firstly is the set of commands * that can be applied to ports. */ #define ASYCMD (((unsigned long) 'a') << 8) #define A_NULL (ASYCMD | 0) #define A_FLUSH (ASYCMD | 1) #define A_BREAK (ASYCMD | 2) #define A_GETPORT (ASYCMD | 3) #define A_SETPORT (ASYCMD | 4) #define A_SETPORTF (ASYCMD | 5) #define A_SETPORTFTX (ASYCMD | 6) #define A_SETPORTFRX (ASYCMD | 7) #define A_GETSIGNALS (ASYCMD | 8) #define A_SETSIGNALS (ASYCMD | 9) #define A_SETSIGNALSF (ASYCMD | 10) #define A_SETSIGNALSFTX (ASYCMD | 11) #define A_SETSIGNALSFRX (ASYCMD | 12) #define A_GETNOTIFY (ASYCMD | 13) #define A_SETNOTIFY (ASYCMD | 14) #define A_NOTIFY (ASYCMD | 15) #define A_PORTCTRL (ASYCMD | 16) #define A_GETSTATS (ASYCMD | 17) #define A_RQSTATE (ASYCMD | 18) #define A_FLOWSTATE (ASYCMD | 19) #define A_CLEARSTATS (ASYCMD | 20) /* * Define those arguments used for simple commands. */ #define FLUSHRX 0x1 #define FLUSHTX 0x2 #define BREAKON -1 #define BREAKOFF -2 /* * Define the port setting structure, and all those defines that go along * with it. Basically this structure defines the characteristics of this * port: baud rate, chars, parity, input/output char cooking etc. */ typedef struct asyport { unsigned long baudout; unsigned long baudin; unsigned long iflag; unsigned long oflag; unsigned long lflag; unsigned long pflag; unsigned long flow; unsigned long spare1; unsigned short vtime; unsigned short vmin; unsigned short txlo; unsigned short txhi; unsigned short rxlo; unsigned short rxhi; unsigned short rxhog; unsigned short spare2; unsigned char csize; unsigned char stopbs; unsigned char parity; unsigned char stopin; unsigned char startin; unsigned char stopout; unsigned char startout; unsigned char parmark; unsigned char brkmark; unsigned char cc[11]; } asyport_t; #define PT_STOP1 0x0 #define PT_STOP15 0x1 #define PT_STOP2 0x2 #define PT_NOPARITY 0x0 #define PT_ODDPARITY 0x1 #define PT_EVENPARITY 0x2 #define PT_MARKPARITY 0x3 #define PT_SPACEPARITY 0x4 #define F_NONE 0x0 #define F_IXON 0x1 #define F_IXOFF 0x2 #define F_IXANY 0x4 #define F_IOXANY 0x8 #define F_RTSFLOW 0x10 #define F_CTSFLOW 0x20 #define F_DTRFLOW 0x40 #define F_DCDFLOW 0x80 #define F_DSROFLOW 0x100 #define F_DSRIFLOW 0x200 #define FI_NORX 0x1 #define FI_RAW 0x2 #define FI_ISTRIP 0x4 #define FI_UCLC 0x8 #define FI_INLCR 0x10 #define FI_ICRNL 0x20 #define FI_IGNCR 0x40 #define FI_IGNBREAK 0x80 #define FI_DSCRDBREAK 0x100 #define FI_1MARKBREAK 0x200 #define FI_2MARKBREAK 0x400 #define FI_XCHNGBREAK 0x800 #define FI_IGNRXERRS 0x1000 #define FI_DSCDRXERRS 0x2000 #define FI_1MARKRXERRS 0x4000 #define FI_2MARKRXERRS 0x8000 #define FI_XCHNGRXERRS 0x10000 #define FI_DSCRDNULL 0x20000 #define FO_OLCUC 0x1 #define FO_ONLCR 0x2 #define FO_OOCRNL 0x4 #define FO_ONOCR 0x8 #define FO_ONLRET 0x10 #define FO_ONL 0x20 #define FO_OBS 0x40 #define FO_OVT 0x80 #define FO_OFF 0x100 #define FO_OTAB1 0x200 #define FO_OTAB2 0x400 #define FO_OTAB3 0x800 #define FO_OCR1 0x1000 #define FO_OCR2 0x2000 #define FO_OCR3 0x4000 #define FO_OFILL 0x8000 #define FO_ODELL 0x10000 #define P_RTSLOCK 0x1 #define P_CTSLOCK 0x2 #define P_MAPRTS 0x4 #define P_MAPCTS 0x8 #define P_LOOPBACK 0x10 #define P_DTRFOLLOW 0x20 #define P_FAKEDCD 0x40 #define P_RXIMIN 0x10000 #define P_RXITIME 0x20000 #define P_RXTHOLD 0x40000 /* * Define a structure to communicate serial port signal and data state * information. */ typedef struct asysigs { unsigned long data; unsigned long signal; unsigned long sigvalue; } asysigs_t; #define DT_TXBUSY 0x1 #define DT_TXEMPTY 0x2 #define DT_TXLOW 0x4 #define DT_TXHIGH 0x8 #define DT_TXFULL 0x10 #define DT_TXHOG 0x20 #define DT_TXFLOWED 0x40 #define DT_TXBREAK 0x80 #define DT_RXBUSY 0x100 #define DT_RXEMPTY 0x200 #define DT_RXLOW 0x400 #define DT_RXHIGH 0x800 #define DT_RXFULL 0x1000 #define DT_RXHOG 0x2000 #define DT_RXFLOWED 0x4000 #define DT_RXBREAK 0x8000 #define SG_DTR 0x1 #define SG_DCD 0x2 #define SG_RTS 0x4 #define SG_CTS 0x8 #define SG_DSR 0x10 #define SG_RI 0x20 /* * Define the notification setting structure. This is used to tell the * port what events we want to be informed about. Fields here use the * same defines as for the asysigs structure above. */ typedef struct asynotify { unsigned long ctrl; unsigned long data; unsigned long signal; unsigned long sigvalue; } asynotify_t; /* * Define the port control structure. It is used to do fine grain * control operations on the port. */ typedef struct { unsigned long rxctrl; unsigned long txctrl; char rximdch; char tximdch; char spare1; char spare2; } asyctrl_t; #define CT_ENABLE 0x1 #define CT_DISABLE 0x2 #define CT_STOP 0x4 #define CT_START 0x8 #define CT_STARTFLOW 0x10 #define CT_STOPFLOW 0x20 #define CT_SENDCHR 0x40 /* * Define the stats structure kept for each port. This is a useful set * of data collected for each port on the slave. The A_GETSTATS command * is used to retrieve this data from the slave. */ typedef struct asystats { unsigned long opens; unsigned long txchars; unsigned long rxchars; unsigned long txringq; unsigned long rxringq; unsigned long txmsgs; unsigned long rxmsgs; unsigned long txflushes; unsigned long rxflushes; unsigned long overruns; unsigned long framing; unsigned long parity; unsigned long ringover; unsigned long lost; unsigned long rxstart; unsigned long rxstop; unsigned long txstart; unsigned long txstop; unsigned long dcdcnt; unsigned long dtrcnt; unsigned long ctscnt; unsigned long rtscnt; unsigned long dsrcnt; unsigned long ricnt; unsigned long txbreaks; unsigned long rxbreaks; unsigned long signals; unsigned long state; unsigned long hwid; } asystats_t; /*****************************************************************************/ /* * All command and control communication with a device on the slave is * via a control block in shared memory. Each device has its own control * block, defined by the following structure. The control block allows * the host to open, close and control the device on the slave. */ typedef struct cdkctrl { unsigned char open; unsigned char close; unsigned long openarg; unsigned long closearg; unsigned long cmd; unsigned long status; unsigned long args[32]; } cdkctrl_t; /* * Each device on the slave passes data to and from the host via a ring * queue in shared memory. Define a ring queue structure to hold the * vital information about each ring queue. Two ring queues will be * allocated for each port, one for receive data and one for transmit * data. */ typedef struct cdkasyrq { unsigned long offset; unsigned short size; unsigned short head; unsigned short tail; } cdkasyrq_t; /* * Each asynchronous port is defined in shared memory by the following * structure. It contains a control block to command a device, and also * the necessary data channel information as well. */ typedef struct cdkasy { cdkctrl_t ctrl; unsigned short notify; asynotify_t changed; unsigned short receive; cdkasyrq_t rxq; unsigned short transmit; cdkasyrq_t txq; } cdkasy_t; #pragma pack() /*****************************************************************************/ /* * Define the set of ioctls used by the driver to do special things * to the board. These include interrupting it, and initializing * the driver after board startup and shutdown. */ #include #define STL_BINTR _IO('s',20) #define STL_BSTART _IO('s',21) #define STL_BSTOP _IO('s',22) #define STL_BRESET _IO('s',23) /* * Define a set of ioctl extensions, used to get at special stuff. */ #define STL_GETPFLAG _IO('s',80) #define STL_SETPFLAG _IO('s',81) /*****************************************************************************/ #endif