switch-linux/include/linux
Stefan Richter bf54e1462b firewire: cdev: add PHY packet reception
Add an FW_CDEV_IOC_RECEIVE_PHY_PACKETS ioctl() and
FW_CDEV_EVENT_PHY_PACKET_RECEIVED poll()/read() event for /dev/fw*.
This can be used to get information from remote PHYs by remote access
PHY packets.

This is also the 2nd half of the functionality (the receive part) to
support a userspace implementation of a VersaPHY transaction layer.

Safety considerations:

  - PHY packets are generally broadcasts, hence some kind of elevated
    privileges should be required of a process to be able to listen in
    on PHY packets.  This implementation assumes that a process that is
    allowed to open the /dev/fw* of a local node does have this
    privilege.

    There was an inconclusive discussion about introducing POSIX
    capabilities as a means to check for user privileges for these
    kinds of operations.

Other limitations:

  - PHY packet reception may be switched on by ioctl() but cannot be
    switched off again.  It would be trivial to provide an off switch,
    but this is not worth the code.  The client should simply close()
    the fd then, or just ignore further events.

  - For sake of simplicity of API and kernel-side implementation, no
    filter per packet content is provided.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2010-07-23 13:36:28 +02:00
..
amba ARM: 5951/1: ARM: fix documentation of the PrimeCell bus 2010-02-20 14:10:48 +00:00
byteorder
can
decompress
dvb
hdlc
i2c
input
isdn
lockd
mfd
mlx4
mmc
mtd
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
regulator
rtc
spi
ssb
sunrpc
tc_act
tc_ematch
unaligned
usb
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-iopoll.h
blkdev.h Revert "block: improve queue_should_plug() by looking at IO depths" 2010-02-23 08:40:43 +01:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsg.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
capability.h
capi.h
cb710.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
cpu.h
cpufreq.h
cpuidle.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h
dcache.h
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h
device.h
device_cgroup.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h
dm-kcopyd.h
dm-log-userspace.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h
dma-mapping.h
dma_remapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h
ds1286.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_debug.h
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
fiemap.h
file.h
filter.h
fips.h
firewire-cdev.h firewire: cdev: add PHY packet reception 2010-07-23 13:36:28 +02:00
firewire-constants.h
firewire.h firewire: cdev: add PHY packet reception 2010-07-23 13:36:28 +02:00
firmware-map.h
firmware.h
flat.h
flex_array.h
font.h
freezer.h
fs.h fs: inode - remove 8 bytes of padding on 64bits allowing 1 more objects/slab under slub 2010-02-19 10:41:13 -05:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl_devices.h
fsnotify.h
fsnotify_backend.h
ftrace.h
ftrace_event.h
ftrace_irq.h
fuse.h
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h
hash.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
if.h
if_addr.h
if_addrlabel.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h Input: add KEY_RFKILL 2010-02-18 02:08:16 -08:00
intel-iommu.h
interrupt.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmemtrace.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kprobes.h
kref.h
ks0108.h
ksm.h
kthread.h
ktime.h
kvm.h
kvm_host.h
kvm_para.h
kvm_types.h
lapb.h
latencytop.h
lcd.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds.h
leds_pwm.h
lguest.h
lguest_launcher.h
libata.h
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_nulls.h
list_sort.h
llc.h
lmb.h
lockdep.h
log2.h
loop.h
lp.h
lru_cache.h
lsm_audit.h
lzo.h
m48t86.h
magic.h
major.h
map_to_7segment.h
maple.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h
memcontrol.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
mm_inline.h
mm_types.h
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
net_dropmon.h
net_tstamp.h
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nilfs2_fs.h
nl80211.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of_mdio.h
of_platform.h
of_spi.h
omapfb.h
oom.h
oprofile.h
oxu210hp.h
page-debug-flags.h
page-flags.h
page-isolation.h
page_cgroup.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h
pci_hotplug.h
pci_ids.h firewire: ohci: remove unused dualbuffer IR code 2010-02-24 20:36:55 +01:00
pci_regs.h
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h
percpu_counter.h
perf_event.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm.h
pm_qos_params.h
pm_runtime.h
pm_wakeup.h
pmu.h
pnp.h
poison.h
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps.h
pps_kernel.h
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
ptrace.h
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
ratelimit.h
rational.h
raw.h
rbtree.h
rculist.h
rculist_nulls.h
rcupdate.h
rcutiny.h
rcutree.h
rds.h
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h
sfi.h
sfi_acpi.h
sh_intc.h
sh_pfc.h
sh_timer.h
shm.h
shmem_fs.h
sht15.h
signal.h
signalfd.h
skbuff.h
slab.h
slab_def.h
slob_def.h
slow-work.h
slub_def.h
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smc911x.h
smp.h
smp_lock.h
smsc911x.h
snmp.h
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
string_helpers.h
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h
swap.h
swapops.h
swiotlb.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tboot.h
tc.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
timb_gpio.h
time.h
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
uwb.h
vermagic.h
veth.h
vfs.h
vgaarb.h
via.h
video_output.h
videodev.h
videodev2.h
videotext.h
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_ids.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vlynq.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wlp.h
wm97xx.h
wm97xx_batt.h
workqueue.h
writeback.h
x25.h
xattr.h
xfrm.h
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h