/usr/include/linux
NameSizeModeActions
android/-0755rm
byteorder/-0755rm
caif/-0755rm
can/-0755rm
cifs/-0755rm
dvb/-0755rm
genwqe/-0755rm
hdlc/-0755rm
hsi/-0755rm
iio/-0755rm
isdn/-0755rm
media/-0755rm
misc/-0755rm
mmc/-0755rm
netfilter/-0755rm
netfilter_arp/-0755rm
netfilter_bridge/-0755rm
netfilter_ipv4/-0755rm
netfilter_ipv6/-0755rm
nfsd/-0755rm
raid/-0755rm
sched/-0755rm
spi/-0755rm
sunrpc/-0755rm
surface_aggregator/-0755rm
tc_act/-0755rm
tc_ematch/-0755rm
usb/-0755rm
a.out.h68920644editdlrm
acct.h39130644editdlrm
acrn.h189560644editdlrm
adb.h11400644editdlrm
adfs_fs.h9930644editdlrm
affs_hardblocks.h15780644editdlrm
agpgart.h39550644editdlrm
aio_abi.h33980644editdlrm
am437x-vpfe.h36810644editdlrm
amt.h17470644editdlrm
apm_bios.h36830644editdlrm
arcfb.h2130644editdlrm
arm_sdei.h27510644editdlrm
aspeed-lpc-ctrl.h17800644editdlrm
aspeed-p2a-ctrl.h19060644editdlrm
aspeed-video.h3890644editdlrm
atalk.h10230644editdlrm
atm.h78880644editdlrm
atmapi.h9520644editdlrm
atmarp.h12960644editdlrm
atmbr2684.h32720644editdlrm
atmclip.h5760644editdlrm
atmdev.h74980644editdlrm
atmioc.h16470644editdlrm
atmlec.h23810644editdlrm
atmmpc.h42260644editdlrm
atmppp.h6390644editdlrm
atmsap.h49700644editdlrm
atmsvc.h18530644editdlrm
atm_eni.h6480644editdlrm
atm_he.h4060644editdlrm
atm_idt77105.h9550644editdlrm
atm_nicstar.h12780644editdlrm
atm_tcp.h16220644editdlrm
atm_zatm.h15400644editdlrm
audit.h217440644editdlrm
auto_dev-ioctl.h49850644editdlrm
auto_fs.h64280644editdlrm
auto_fs4.h4510644editdlrm
auxvec.h18190644editdlrm
ax25.h28240644editdlrm
batadv_packet.h216320644editdlrm
batman_adv.h168870644editdlrm
baycom.h8830644editdlrm
bcm933xx_hcs.h4190644editdlrm
bfs_fs.h19050644editdlrm
binfmts.h7760644editdlrm
bits.h5170644editdlrm
blkdev.h3590644editdlrm
blkpg.h9040644editdlrm
blktrace_api.h47010644editdlrm
blkzoned.h64920644editdlrm
bpf.h2803440644editdlrm
bpf_common.h13670644editdlrm
bpf_perf_event.h5290644editdlrm
bpqether.h9810644editdlrm
bsg.h24940644editdlrm
bt-bmc.h5720644editdlrm
btf.h55910644editdlrm
btrfs.h371500644editdlrm
btrfs_tree.h356230644editdlrm
cachefiles.h16500644editdlrm
can.h114960644editdlrm
capability.h135230644editdlrm
capi.h31240644editdlrm
cciss_defs.h32810644editdlrm
cciss_ioctl.h27610644editdlrm
ccs.h7670644editdlrm
cdrom.h295610644editdlrm
cec-funcs.h544190644editdlrm
cec.h422920644editdlrm
cfm_bridge.h14560644editdlrm
cgroupstats.h21050644editdlrm
chio.h52820644editdlrm
close_range.h3770644editdlrm
cn_proc.h41600644editdlrm
coda.h182160644editdlrm
coff.h125490644editdlrm
comedi.h554810644editdlrm
connector.h22520644editdlrm
const.h15870644editdlrm
coresight-stm.h7470644editdlrm
counter.h48890644editdlrm
cramfs_fs.h35550644editdlrm
cryptouser.h58120644editdlrm
cuda.h9050644editdlrm
cxl_mem.h81430644editdlrm
cyclades.h9690644editdlrm
cycx_cfm.h29890644editdlrm
dcbnl.h255710644editdlrm
dccp.h64360644editdlrm
devlink.h228320644editdlrm
dlm.h26640644editdlrm
dlmconstants.h50910644editdlrm
dlm_device.h25410644editdlrm
dlm_plock.h9160644editdlrm
dm-ioctl.h115980644editdlrm
dm-log-userspace.h151900644editdlrm
dma-buf.h73470644editdlrm
dma-heap.h13970644editdlrm
dns_resolver.h39490644editdlrm
dpll.h83560644editdlrm
dqblk_xfs.h93880644editdlrm
dw100.h3570644editdlrm
edd.h56040644editdlrm
efs_fs_sb.h22270644editdlrm
elf-em.h26270644editdlrm
elf-fdpic.h16210644editdlrm
elf.h156770644editdlrm
errno.h230644editdlrm
errqueue.h19830644editdlrm
erspan.h10590644editdlrm
ethtool.h1024890644editdlrm
ethtool_netlink.h305880644editdlrm
eventfd.h2640644editdlrm
eventpoll.h29120644editdlrm
exfat.h5880644editdlrm
ext4.h41220644editdlrm
f2fs.h33630644editdlrm
fadvise.h8420644editdlrm
falloc.h36430644editdlrm
fanotify.h83680644editdlrm
fb.h163350644editdlrm
fcntl.h57660644editdlrm
fd.h121170644editdlrm
fdreg.h53640644editdlrm
fib_rules.h20580644editdlrm
fiemap.h27740644editdlrm
filter.h22160644editdlrm
firewire-cdev.h507200644editdlrm
firewire-constants.h32310644editdlrm
fou.h8190644editdlrm
fpga-dfl.h87280644editdlrm
fs.h217330644editdlrm
fscrypt.h65920644editdlrm
fsi.h30880644editdlrm
fsl_hypervisor.h73010644editdlrm
fsl_mc.h7340644editdlrm
fsmap.h44020644editdlrm
fsverity.h31850644editdlrm
fuse.h295040644editdlrm
futex.h61270644editdlrm
gameport.h8970644editdlrm
genetlink.h22380644editdlrm
gen_stats.h15260644editdlrm
gfs2_ondisk.h147730644editdlrm
gpio.h202970644editdlrm
gsmmux.h45090644editdlrm
gtp.h7820644editdlrm
handshake.h16460644editdlrm
hash_info.h10340644editdlrm
hdlc.h6370644editdlrm
hdlcdrv.h29080644editdlrm
hdreg.h227030644editdlrm
hid.h20860644editdlrm
hiddev.h63450644editdlrm
hidraw.h21140644editdlrm
hpet.h7430644editdlrm
hsr_netlink.h11010644editdlrm
hw_breakpoint.h6050644editdlrm
hyperv.h111760644editdlrm
i2c-dev.h18750644editdlrm
i2c.h68900644editdlrm
i2o-dev.h115550644editdlrm
i8k.h15280644editdlrm
icmp.h47850644editdlrm
icmpv6.h43000644editdlrm
idxd.h93280644editdlrm
if.h109250644editdlrm
ife.h3510644editdlrm
if_addr.h21430644editdlrm
if_addrlabel.h7210644editdlrm
if_alg.h16010644editdlrm
if_arcnet.h37140644editdlrm
if_arp.h65890644editdlrm
if_bonding.h51450644editdlrm
if_bridge.h206660644editdlrm
if_cablemodem.h9860644editdlrm
if_eql.h13490644editdlrm
if_ether.h87660644editdlrm
if_fc.h17380644editdlrm
if_fddi.h43690644editdlrm
if_hippi.h42350644editdlrm
if_infiniband.h12450644editdlrm
if_link.h560050644editdlrm
if_ltalk.h2100644editdlrm
if_macsec.h65030644editdlrm
if_packet.h82730644editdlrm
if_phonet.h4240644editdlrm
if_plip.h6600644editdlrm
if_ppp.h290644editdlrm
if_pppol2tp.h33030644editdlrm
if_pppox.h48770644editdlrm
if_slip.h8720644editdlrm
if_team.h16170644editdlrm
if_tun.h43150644editdlrm
if_tunnel.h56040644editdlrm
if_vlan.h18310644editdlrm
if_x25.h8810644editdlrm
if_xdp.h50100644editdlrm
igmp.h30610644editdlrm
ila.h12460644editdlrm
in.h109560644editdlrm
in6.h75780644editdlrm
inet_diag.h50150644editdlrm
inotify.h32890644editdlrm
input-event-codes.h302580644editdlrm
input.h162170644editdlrm
in_route.h9360644editdlrm
ioam6.h23830644editdlrm
ioam6_genl.h13730644editdlrm
ioam6_iptunnel.h14280644editdlrm
ioctl.h1630644editdlrm
iommufd.h298040644editdlrm
ioprio.h41750644editdlrm
io_uring.h223550644editdlrm
ip.h48460644editdlrm
ip6_tunnel.h19530644editdlrm
ipc.h21010644editdlrm
ipmi.h154420644editdlrm
ipmi_bmc.h4880644editdlrm
ipmi_msgdefs.h34300644editdlrm
ipmi_ssif_bmc.h4410644editdlrm
ipsec.h9470644editdlrm
ipv6.h43250644editdlrm
ipv6_route.h19080644editdlrm
ip_vs.h139620644editdlrm
irqnr.h1040644editdlrm
iso_fs.h64830644editdlrm
isst_if.h152810644editdlrm
ivtv.h30220644editdlrm
ivtvfb.h12070644editdlrm
jffs2.h68110644editdlrm
joystick.h34340644editdlrm
kcm.h8220644editdlrm
kcmp.h5220644editdlrm
kcov.h19620644editdlrm
kd.h64520644editdlrm
kdev_t.h3830644editdlrm
kernel-page-flags.h9170644editdlrm
kernel.h1940644editdlrm
kernelcapi.h10190644editdlrm
kexec.h20970644editdlrm
keyboard.h134590644editdlrm
keyctl.h59960644editdlrm
kfd_ioctl.h581520644editdlrm
kfd_sysfs.h52210644editdlrm
kvm.h491800644editdlrm
kvm_para.h10010644editdlrm
l2tp.h57460644editdlrm
landlock.h118280644editdlrm
libc-compat.h72890644editdlrm
limits.h9370644editdlrm
lirc.h83270644editdlrm
llc.h31640644editdlrm
loadpin.h8340644editdlrm
loop.h33960644editdlrm
lp.h41900644editdlrm
lsm.h26310644editdlrm
lwtunnel.h23670644editdlrm
magic.h39460644editdlrm
major.h46570644editdlrm
map_to_7segment.h66080644editdlrm
map_to_14segment.h95050644editdlrm
matroxfb.h14640644editdlrm
max2175.h10350644editdlrm
mctp.h25380644editdlrm
mdio.h244020644editdlrm
media-bus-format.h76720644editdlrm
media.h127540644editdlrm
mei.h34740644editdlrm
mei_uuid.h7380644editdlrm
membarrier.h95660644editdlrm
memfd.h14670644editdlrm
mempolicy.h25950644editdlrm
mii.h95510644editdlrm
minix_fs.h21200644editdlrm
mman.h18560644editdlrm
mmtimer.h21170644editdlrm
module.h2930644editdlrm
mount.h83140644editdlrm
mpls.h23020644editdlrm
mpls_iptunnel.h7610644editdlrm
mptcp.h39700644editdlrm
mptcp_pm.h45900644editdlrm
mqueue.h22010644editdlrm
mroute.h59220644editdlrm
mroute6.h50050644editdlrm
mrp_bridge.h17080644editdlrm
msdos_fs.h67310644editdlrm
msg.h33860644editdlrm
mtio.h81750644editdlrm
nbd-netlink.h24080644editdlrm
nbd.h38620644editdlrm
ncsi.h48280644editdlrm
ndctl.h68240644editdlrm
neighbour.h61020644editdlrm
net.h20850644editdlrm
netconf.h6140644editdlrm
netdev.h57790644editdlrm
netdevice.h22530644editdlrm
netfilter.h17310644editdlrm
netfilter_arp.h4450644editdlrm
netfilter_bridge.h12380644editdlrm
netfilter_ipv4.h14880644editdlrm
netfilter_ipv6.h13830644editdlrm
netlink.h123920644editdlrm
netlink_diag.h15240644editdlrm
netrom.h8070644editdlrm
net_dropmon.h29200644editdlrm
net_namespace.h7150644editdlrm
net_tstamp.h61630644editdlrm
nexthop.h40660644editdlrm
nfc.h112360644editdlrm
nfs.h44290644editdlrm
nfs2.h14680644editdlrm
nfs3.h24530644editdlrm
nfs4.h66950644editdlrm
nfs4_mount.h19320644editdlrm
nfsacl.h7180644editdlrm
nfsd_netlink.h19950644editdlrm
nfs_fs.h16540644editdlrm
nfs_idmap.h22430644editdlrm
nfs_mount.h21420644editdlrm
nilfs2_api.h75890644editdlrm
nilfs2_ondisk.h180850644editdlrm
nitro_enclaves.h131610644editdlrm
nl80211-vnd-intel.h46020644editdlrm
nl80211.h3477450644editdlrm
npcm-video.h12150644editdlrm
nsfs.h16750644editdlrm
nsm.h7400644editdlrm
ntsync.h4830644editdlrm
nubus.h81910644editdlrm
nvme_ioctl.h24900644editdlrm
nvram.h5320644editdlrm
omap3isp.h209440644editdlrm
omapfb.h59180644editdlrm
oom.h5110644editdlrm
openat2.h14500644editdlrm
openvswitch.h421010644editdlrm
packet_diag.h16720644editdlrm
papr_pdsm.h57410644editdlrm
param.h1410644editdlrm
parport.h38410644editdlrm
patchkey.h8920644editdlrm
pci.h13800644editdlrm
pcitest.h9200644editdlrm
pci_regs.h639370644editdlrm
perf_event.h437080644editdlrm
personality.h20970644editdlrm
pfkeyv2.h106360644editdlrm
pfrut.h80030644editdlrm
pg.h23940644editdlrm
phantom.h16540644editdlrm
phonet.h46770644editdlrm
pidfd.h12320644editdlrm
pktcdvd.h24030644editdlrm
pkt_cls.h194620644editdlrm
pkt_sched.h293460644editdlrm
pmu.h54440644editdlrm
poll.h220644editdlrm
posix_acl.h12540644editdlrm
posix_acl_xattr.h11150644editdlrm
posix_types.h10980644editdlrm
ppdev.h32850644editdlrm
ppp-comp.h25270644editdlrm
ppp-ioctl.h57290644editdlrm
ppp_defs.h55570644editdlrm
pps.h47340644editdlrm
pr.h16300644editdlrm
prctl.h117940644editdlrm
psample.h26340644editdlrm
psci.h51410644editdlrm
psp-dbc.h52790644editdlrm
psp-sev.h77690644editdlrm
ptp_clock.h82940644editdlrm
ptrace.h55010644editdlrm
qemu_fw_cfg.h24690644editdlrm
qnx4_fs.h23280644editdlrm
qnxtypes.h6240644editdlrm
qrtr.h8930644editdlrm
quota.h63120644editdlrm
radeonfb.h3600644editdlrm
random.h18970644editdlrm
rds.h111680644editdlrm
reboot.h13430644editdlrm
reiserfs_fs.h7750644editdlrm
reiserfs_xattr.h5420644editdlrm
remoteproc_cdev.h11020644editdlrm
resource.h25950644editdlrm
rfkill.h66080644editdlrm
rio_cm_cdev.h32480644editdlrm
rio_mport_cdev.h93300644editdlrm
rkisp1-config.h583680644editdlrm
romfs_fs.h12360644editdlrm
rose.h22320644editdlrm
route.h23320644editdlrm
rpl.h8540644editdlrm
rpl_iptunnel.h4240644editdlrm
rpmsg.h13170644editdlrm
rpmsg_types.h2880644editdlrm
rseq.h54480644editdlrm
rtc.h53160644editdlrm
rtnetlink.h213460644editdlrm
rxrpc.h49220644editdlrm
scc.h46240644editdlrm
sched.h62870644editdlrm
scif_ioctl.h63820644editdlrm
screen_info.h24790644editdlrm
sctp.h360170644editdlrm
seccomp.h59900644editdlrm
securebits.h27040644editdlrm
sed-opal.h53430644editdlrm
seg6.h11690644editdlrm
seg6_genl.h5890644editdlrm
seg6_hmac.h4230644editdlrm
seg6_iptunnel.h9830644editdlrm
seg6_local.h38670644editdlrm
selinux_netlink.h11950644editdlrm
sem.h30510644editdlrm
serial.h52450644editdlrm
serial_core.h50460644editdlrm
serial_reg.h160230644editdlrm
serio.h21390644editdlrm
sev-guest.h25260644editdlrm
shm.h37940644editdlrm
signal.h3880644editdlrm
signalfd.h12330644editdlrm
smc.h89010644editdlrm
smc_diag.h29510644editdlrm
smiapp.h10580644editdlrm
snmp.h146530644editdlrm
socket.h10400644editdlrm
sockios.h68460644editdlrm
sock_diag.h13010644editdlrm
sonet.h22900644editdlrm
sonypi.h53090644editdlrm
sound.h12370644editdlrm
soundcard.h460480644editdlrm
stat.h75400644editdlrm
stddef.h21080644editdlrm
stm.h12740644editdlrm
string.h2380644editdlrm
suspend_ioctls.h14310644editdlrm
swab.h69400644editdlrm
switchtec_ioctl.h52620644editdlrm
synclink.h89850644editdlrm
sync_file.h34490644editdlrm
sysctl.h260250644editdlrm
sysinfo.h10490644editdlrm
target_core_user.h46520644editdlrm
taskstats.h83220644editdlrm
tcp.h170720644editdlrm
tcp_metrics.h19850644editdlrm
tdx-guest.h13050644editdlrm
tee.h134330644editdlrm
termios.h1720644editdlrm
thermal.h33100644editdlrm
thp7312.h6590644editdlrm
time.h17520644editdlrm
timerfd.h9360644editdlrm
times.h2780644editdlrm
timex.h78170644editdlrm
time_types.h12670644editdlrm
tiocl.h17290644editdlrm
tipc.h88250644editdlrm
tipc_config.h149150644editdlrm
tipc_netlink.h93950644editdlrm
tipc_sockets_diag.h4680644editdlrm
tls.h72260644editdlrm
toshiba.h19300644editdlrm
tps6594_pfsm.h11600644editdlrm
trace_mmap.h13010644editdlrm
tty.h17850644editdlrm
tty_flags.h45010644editdlrm
types.h18290644editdlrm
ublk_cmd.h120460644editdlrm
udf_fs_i.h6970644editdlrm
udmabuf.h6430644editdlrm
udp.h16960644editdlrm
uhid.h46480644editdlrm
uinput.h92610644editdlrm
uio.h11630644editdlrm
uleds.h7980644editdlrm
ultrasound.h45620644editdlrm
um_timetravel.h100320644editdlrm
un.h3840644editdlrm
unistd.h2200644editdlrm
unix_diag.h13280644editdlrm
usbdevice_fs.h83150644editdlrm
usbip.h15030644editdlrm
userfaultfd.h120170644editdlrm
userio.h15160644editdlrm
user_events.h24940644editdlrm
utime.h2230644editdlrm
utsname.h6690644editdlrm
uuid.h280644editdlrm
uvcvideo.h26270644editdlrm
v4l2-common.h20560644editdlrm
v4l2-controls.h1494070644editdlrm
v4l2-dv-timings.h311230644editdlrm
v4l2-mediabus.h54310644editdlrm
v4l2-subdev.h103450644editdlrm
vboxguest.h93680644editdlrm
vbox_err.h72570644editdlrm
vbox_vmmdev_types.h117960644editdlrm
vdpa.h25500644editdlrm
vduse.h98080644editdlrm
version.h2180644editdlrm
vesa.h5100644editdlrm
veth.h2240644editdlrm
vfio.h718620644editdlrm
vfio_ccw.h13170644editdlrm
vfio_zdev.h25420644editdlrm
vhost.h112730644editdlrm
vhost_types.h52670644editdlrm
videodev2.h1037270644editdlrm
virtio_9p.h20520644editdlrm
virtio_balloon.h60710644editdlrm
virtio_blk.h99790644editdlrm
virtio_bt.h9100644editdlrm
virtio_config.h47630644editdlrm
virtio_console.h31560644editdlrm
virtio_crypto.h164720644editdlrm
virtio_fs.h5730644editdlrm
virtio_gpio.h17140644editdlrm
virtio_gpu.h115540644editdlrm
virtio_i2c.h11860644editdlrm
virtio_ids.h43030644editdlrm
virtio_input.h25150644editdlrm
virtio_iommu.h39310644editdlrm
virtio_mem.h72660644editdlrm
virtio_mmio.h49690644editdlrm
virtio_net.h189420644editdlrm
virtio_pci.h96310644editdlrm
virtio_pcidev.h24470644editdlrm
virtio_pmem.h8820644editdlrm
virtio_ring.h87240644editdlrm
virtio_rng.h2650644editdlrm
virtio_scmi.h6370644editdlrm
virtio_scsi.h60850644editdlrm
virtio_snd.h131700644editdlrm
virtio_types.h21530644editdlrm
virtio_vsock.h33480644editdlrm
vmcore.h4550644editdlrm
vm_sockets.h74280644editdlrm
vm_sockets_diag.h9630644editdlrm
vsockmon.h18850644editdlrm
vt.h30590644editdlrm
vtpm_proxy.h17190644editdlrm
wait.h6820644editdlrm
watchdog.h23350644editdlrm
watch_queue.h34900644editdlrm
wireguard.h77480644editdlrm
wireless.h427040644editdlrm
wmi.h17610644editdlrm
wwan.h2950644editdlrm
x25.h35620644editdlrm
xattr.h30230644editdlrm
xdp_diag.h14680644editdlrm
xfrm.h128790644editdlrm
xilinx-v4l2-controls.h29760644editdlrm
zorro.h32960644editdlrm
zorro_ids.h300650644editdlrm
Edit: /usr/include/linux/coda.h (18216B)
/* You may distribute this file under either of the two licenses that follow at your discretion. */ /* BLURB lgpl Coda File System Release 5 Copyright (c) 1987-1999 Carnegie Mellon University Additional copyrights listed below This code is distributed "AS IS" without warranty of any kind under the terms of the GNU Library General Public Licence Version 2, as shown in the file LICENSE, or under the license shown below. The technical and financial contributors to Coda are listed in the file CREDITS. Additional copyrights */ /* Coda: an Experimental Distributed File System Release 4.0 Copyright (c) 1987-1999 Carnegie Mellon University All Rights Reserved Permission to use, copy, modify and distribute this software and its documentation is hereby granted, provided that both the copyright notice and this permission notice appear in all copies of the software, derivative works or modified versions, and any portions thereof, and that both notices appear in supporting documentation, and that credit is given to Carnegie Mellon University in all documents and publicity pertaining to direct or indirect use of this code or its derivatives. CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS, SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF ANY DERIVATIVE WORK. Carnegie Mellon encourages users of this software to return any improvements or extensions that they make, and to grant Carnegie Mellon the rights to redistribute these changes without encumbrance. */ /* * * Based on cfs.h from Mach, but revamped for increased simplicity. * Linux modifications by * Peter Braam, Aug 1996 */ #ifndef _CODA_HEADER_ #define _CODA_HEADER_ /* Catch new _KERNEL defn for NetBSD and DJGPP/__CYGWIN32__ */ #if defined(__NetBSD__) || \ ((defined(DJGPP) || defined(__CYGWIN32__)) && !defined(KERNEL)) #include #endif #ifndef CODA_MAXSYMLINKS #define CODA_MAXSYMLINKS 10 #endif #if defined(DJGPP) || defined(__CYGWIN32__) #ifdef KERNEL typedef unsigned long u_long; typedef unsigned int u_int; typedef unsigned short u_short; typedef u_long ino_t; typedef u_long dev_t; typedef void * caddr_t; #ifdef DOS typedef unsigned __int64 u_quad_t; #else typedef unsigned long long u_quad_t; #endif #define __inline__ #else /* DJGPP but not KERNEL */ #include typedef unsigned long long u_quad_t; #endif /* !KERNEL */ #endif /* !DJGPP */ #if defined(__linux__) #include #define cdev_t u_quad_t #if !defined(_UQUAD_T_) && (!defined(__GLIBC__) || __GLIBC__ < 2) #define _UQUAD_T_ 1 typedef unsigned long long u_quad_t; #endif #else #define cdev_t dev_t #endif #ifndef __BIT_TYPES_DEFINED__ #define __BIT_TYPES_DEFINED__ typedef signed char int8_t; typedef unsigned char u_int8_t; typedef short int16_t; typedef unsigned short u_int16_t; typedef int int32_t; typedef unsigned int u_int32_t; #endif /* * Cfs constants */ #define CODA_MAXNAMLEN 255 #define CODA_MAXPATHLEN 1024 #define CODA_MAXSYMLINK 10 /* these are Coda's version of O_RDONLY etc combinations * to deal with VFS open modes */ #define C_O_READ 0x001 #define C_O_WRITE 0x002 #define C_O_TRUNC 0x010 #define C_O_EXCL 0x100 #define C_O_CREAT 0x200 /* these are to find mode bits in Venus */ #define C_M_READ 00400 #define C_M_WRITE 00200 /* for access Venus will use */ #define C_A_C_OK 8 /* Test for writing upon create. */ #define C_A_R_OK 4 /* Test for read permission. */ #define C_A_W_OK 2 /* Test for write permission. */ #define C_A_X_OK 1 /* Test for execute permission. */ #define C_A_F_OK 0 /* Test for existence. */ #ifndef _VENUS_DIRENT_T_ #define _VENUS_DIRENT_T_ 1 struct venus_dirent { u_int32_t d_fileno; /* file number of entry */ u_int16_t d_reclen; /* length of this record */ u_int8_t d_type; /* file type, see below */ u_int8_t d_namlen; /* length of string in d_name */ char d_name[CODA_MAXNAMLEN + 1];/* name must be no longer than this */ }; #undef DIRSIZ #define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \ (((dp)->d_namlen+1 + 3) &~ 3)) /* * File types */ #define CDT_UNKNOWN 0 #define CDT_FIFO 1 #define CDT_CHR 2 #define CDT_DIR 4 #define CDT_BLK 6 #define CDT_REG 8 #define CDT_LNK 10 #define CDT_SOCK 12 #define CDT_WHT 14 /* * Convert between stat structure types and directory types. */ #define IFTOCDT(mode) (((mode) & 0170000) >> 12) #define CDTTOIF(dirtype) ((dirtype) << 12) #endif #ifndef _VUID_T_ #define _VUID_T_ typedef u_int32_t vuid_t; typedef u_int32_t vgid_t; #endif /*_VUID_T_ */ struct CodaFid { u_int32_t opaque[4]; }; #define coda_f2i(fid)\ (fid ? (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^ fid->opaque[0]) : 0) #ifndef _VENUS_VATTR_T_ #define _VENUS_VATTR_T_ /* * Vnode types. VNON means no type. */ enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD }; struct coda_timespec { int64_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ }; struct coda_vattr { long va_type; /* vnode type (for create) */ u_short va_mode; /* files access mode and type */ short va_nlink; /* number of references to file */ vuid_t va_uid; /* owner user id */ vgid_t va_gid; /* owner group id */ long va_fileid; /* file id */ u_quad_t va_size; /* file size in bytes */ long va_blocksize; /* blocksize preferred for i/o */ struct coda_timespec va_atime; /* time of last access */ struct coda_timespec va_mtime; /* time of last modification */ struct coda_timespec va_ctime; /* time file changed */ u_long va_gen; /* generation number of file */ u_long va_flags; /* flags defined for file */ cdev_t va_rdev; /* device special file represents */ u_quad_t va_bytes; /* bytes of disk space held by file */ u_quad_t va_filerev; /* file modification number */ }; #endif /* structure used by CODA_STATFS for getting cache information from venus */ struct coda_statfs { int32_t f_blocks; int32_t f_bfree; int32_t f_bavail; int32_t f_files; int32_t f_ffree; }; /* * Kernel <--> Venus communications. */ #define CODA_ROOT 2 #define CODA_OPEN_BY_FD 3 #define CODA_OPEN 4 #define CODA_CLOSE 5 #define CODA_IOCTL 6 #define CODA_GETATTR 7 #define CODA_SETATTR 8 #define CODA_ACCESS 9 #define CODA_LOOKUP 10 #define CODA_CREATE 11 #define CODA_REMOVE 12 #define CODA_LINK 13 #define CODA_RENAME 14 #define CODA_MKDIR 15 #define CODA_RMDIR 16 #define CODA_SYMLINK 18 #define CODA_READLINK 19 #define CODA_FSYNC 20 #define CODA_VGET 22 #define CODA_SIGNAL 23 #define CODA_REPLACE 24 /* DOWNCALL */ #define CODA_FLUSH 25 /* DOWNCALL */ #define CODA_PURGEUSER 26 /* DOWNCALL */ #define CODA_ZAPFILE 27 /* DOWNCALL */ #define CODA_ZAPDIR 28 /* DOWNCALL */ #define CODA_PURGEFID 30 /* DOWNCALL */ #define CODA_OPEN_BY_PATH 31 #define CODA_RESOLVE 32 #define CODA_REINTEGRATE 33 #define CODA_STATFS 34 #define CODA_STORE 35 #define CODA_RELEASE 36 #define CODA_ACCESS_INTENT 37 #define CODA_NCALLS 38 #define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID) #define VC_MAXDATASIZE 8192 #define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\ VC_MAXDATASIZE #define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t) // CODA_KERNEL_VERSION 0 /* don't care about kernel version number */ // CODA_KERNEL_VERSION 1 /* The old venus 4.6 compatible interface */ // CODA_KERNEL_VERSION 2 /* venus_lookup gets an extra parameter */ // CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */ // CODA_KERNEL_VERSION 4 /* 64-bit timespec */ #define CODA_KERNEL_VERSION 5 /* access intent support */ /* * Venus <-> Coda RPC arguments */ struct coda_in_hdr { u_int32_t opcode; u_int32_t unique; /* Keep multiple outstanding msgs distinct */ __kernel_pid_t pid; __kernel_pid_t pgid; vuid_t uid; }; /* Really important that opcode and unique are 1st two fields! */ struct coda_out_hdr { u_int32_t opcode; u_int32_t unique; u_int32_t result; }; /* coda_root: NO_IN */ struct coda_root_out { struct coda_out_hdr oh; struct CodaFid VFid; }; struct coda_root_in { struct coda_in_hdr in; }; /* coda_open: */ struct coda_open_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_open_out { struct coda_out_hdr oh; cdev_t dev; ino_t inode; }; /* coda_store: */ struct coda_store_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_store_out { struct coda_out_hdr out; }; /* coda_release: */ struct coda_release_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_release_out { struct coda_out_hdr out; }; /* coda_close: */ struct coda_close_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_close_out { struct coda_out_hdr out; }; /* coda_ioctl: */ struct coda_ioctl_in { struct coda_in_hdr ih; struct CodaFid VFid; int cmd; int len; int rwflag; char *data; /* Place holder for data. */ }; struct coda_ioctl_out { struct coda_out_hdr oh; int len; caddr_t data; /* Place holder for data. */ }; /* coda_getattr: */ struct coda_getattr_in { struct coda_in_hdr ih; struct CodaFid VFid; }; struct coda_getattr_out { struct coda_out_hdr oh; struct coda_vattr attr; }; /* coda_setattr: NO_OUT */ struct coda_setattr_in { struct coda_in_hdr ih; struct CodaFid VFid; struct coda_vattr attr; }; struct coda_setattr_out { struct coda_out_hdr out; }; /* coda_access: NO_OUT */ struct coda_access_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_access_out { struct coda_out_hdr out; }; /* lookup flags */ #define CLU_CASE_SENSITIVE 0x01 #define CLU_CASE_INSENSITIVE 0x02 /* coda_lookup: */ struct coda_lookup_in { struct coda_in_hdr ih; struct CodaFid VFid; int name; /* Place holder for data. */ int flags; }; struct coda_lookup_out { struct coda_out_hdr oh; struct CodaFid VFid; int vtype; }; /* coda_create: */ struct coda_create_in { struct coda_in_hdr ih; struct CodaFid VFid; struct coda_vattr attr; int excl; int mode; int name; /* Place holder for data. */ }; struct coda_create_out { struct coda_out_hdr oh; struct CodaFid VFid; struct coda_vattr attr; }; /* coda_remove: NO_OUT */ struct coda_remove_in { struct coda_in_hdr ih; struct CodaFid VFid; int name; /* Place holder for data. */ }; struct coda_remove_out { struct coda_out_hdr out; }; /* coda_link: NO_OUT */ struct coda_link_in { struct coda_in_hdr ih; struct CodaFid sourceFid; /* cnode to link *to* */ struct CodaFid destFid; /* Directory in which to place link */ int tname; /* Place holder for data. */ }; struct coda_link_out { struct coda_out_hdr out; }; /* coda_rename: NO_OUT */ struct coda_rename_in { struct coda_in_hdr ih; struct CodaFid sourceFid; int srcname; struct CodaFid destFid; int destname; }; struct coda_rename_out { struct coda_out_hdr out; }; /* coda_mkdir: */ struct coda_mkdir_in { struct coda_in_hdr ih; struct CodaFid VFid; struct coda_vattr attr; int name; /* Place holder for data. */ }; struct coda_mkdir_out { struct coda_out_hdr oh; struct CodaFid VFid; struct coda_vattr attr; }; /* coda_rmdir: NO_OUT */ struct coda_rmdir_in { struct coda_in_hdr ih; struct CodaFid VFid; int name; /* Place holder for data. */ }; struct coda_rmdir_out { struct coda_out_hdr out; }; /* coda_symlink: NO_OUT */ struct coda_symlink_in { struct coda_in_hdr ih; struct CodaFid VFid; /* Directory to put symlink in */ int srcname; struct coda_vattr attr; int tname; }; struct coda_symlink_out { struct coda_out_hdr out; }; /* coda_readlink: */ struct coda_readlink_in { struct coda_in_hdr ih; struct CodaFid VFid; }; struct coda_readlink_out { struct coda_out_hdr oh; int count; caddr_t data; /* Place holder for data. */ }; /* coda_fsync: NO_OUT */ struct coda_fsync_in { struct coda_in_hdr ih; struct CodaFid VFid; }; struct coda_fsync_out { struct coda_out_hdr out; }; /* coda_vget: */ struct coda_vget_in { struct coda_in_hdr ih; struct CodaFid VFid; }; struct coda_vget_out { struct coda_out_hdr oh; struct CodaFid VFid; int vtype; }; /* CODA_SIGNAL is out-of-band, doesn't need data. */ /* CODA_INVALIDATE is a venus->kernel call */ /* CODA_FLUSH is a venus->kernel call */ /* coda_purgeuser: */ /* CODA_PURGEUSER is a venus->kernel call */ struct coda_purgeuser_out { struct coda_out_hdr oh; vuid_t uid; }; /* coda_zapfile: */ /* CODA_ZAPFILE is a venus->kernel call */ struct coda_zapfile_out { struct coda_out_hdr oh; struct CodaFid CodaFid; }; /* coda_zapdir: */ /* CODA_ZAPDIR is a venus->kernel call */ struct coda_zapdir_out { struct coda_out_hdr oh; struct CodaFid CodaFid; }; /* coda_purgefid: */ /* CODA_PURGEFID is a venus->kernel call */ struct coda_purgefid_out { struct coda_out_hdr oh; struct CodaFid CodaFid; }; /* coda_replace: */ /* CODA_REPLACE is a venus->kernel call */ struct coda_replace_out { /* coda_replace is a venus->kernel call */ struct coda_out_hdr oh; struct CodaFid NewFid; struct CodaFid OldFid; }; /* coda_open_by_fd: */ struct coda_open_by_fd_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_open_by_fd_out { struct coda_out_hdr oh; int fd; }; /* coda_open_by_path: */ struct coda_open_by_path_in { struct coda_in_hdr ih; struct CodaFid VFid; int flags; }; struct coda_open_by_path_out { struct coda_out_hdr oh; int path; }; /* coda_statfs: NO_IN */ struct coda_statfs_in { struct coda_in_hdr in; }; struct coda_statfs_out { struct coda_out_hdr oh; struct coda_statfs stat; }; #define CODA_ACCESS_TYPE_READ 1 #define CODA_ACCESS_TYPE_WRITE 2 #define CODA_ACCESS_TYPE_MMAP 3 #define CODA_ACCESS_TYPE_READ_FINISH 4 #define CODA_ACCESS_TYPE_WRITE_FINISH 5 /* coda_access_intent: NO_OUT */ struct coda_access_intent_in { struct coda_in_hdr ih; struct CodaFid VFid; int count; int pos; int type; }; struct coda_access_intent_out { struct coda_out_hdr out; }; /* * Occasionally, we don't cache the fid returned by CODA_LOOKUP. * For instance, if the fid is inconsistent. * This case is handled by setting the top bit of the type result parameter. */ #define CODA_NOCACHE 0x80000000 union inputArgs { struct coda_in_hdr ih; /* NB: every struct below begins with an ih */ struct coda_open_in coda_open; struct coda_store_in coda_store; struct coda_release_in coda_release; struct coda_close_in coda_close; struct coda_ioctl_in coda_ioctl; struct coda_getattr_in coda_getattr; struct coda_setattr_in coda_setattr; struct coda_access_in coda_access; struct coda_lookup_in coda_lookup; struct coda_create_in coda_create; struct coda_remove_in coda_remove; struct coda_link_in coda_link; struct coda_rename_in coda_rename; struct coda_mkdir_in coda_mkdir; struct coda_rmdir_in coda_rmdir; struct coda_symlink_in coda_symlink; struct coda_readlink_in coda_readlink; struct coda_fsync_in coda_fsync; struct coda_vget_in coda_vget; struct coda_open_by_fd_in coda_open_by_fd; struct coda_open_by_path_in coda_open_by_path; struct coda_statfs_in coda_statfs; struct coda_access_intent_in coda_access_intent; }; union outputArgs { struct coda_out_hdr oh; /* NB: every struct below begins with an oh */ struct coda_root_out coda_root; struct coda_open_out coda_open; struct coda_ioctl_out coda_ioctl; struct coda_getattr_out coda_getattr; struct coda_lookup_out coda_lookup; struct coda_create_out coda_create; struct coda_mkdir_out coda_mkdir; struct coda_readlink_out coda_readlink; struct coda_vget_out coda_vget; struct coda_purgeuser_out coda_purgeuser; struct coda_zapfile_out coda_zapfile; struct coda_zapdir_out coda_zapdir; struct coda_purgefid_out coda_purgefid; struct coda_replace_out coda_replace; struct coda_open_by_fd_out coda_open_by_fd; struct coda_open_by_path_out coda_open_by_path; struct coda_statfs_out coda_statfs; }; union coda_downcalls { /* CODA_INVALIDATE is a venus->kernel call */ /* CODA_FLUSH is a venus->kernel call */ struct coda_purgeuser_out purgeuser; struct coda_zapfile_out zapfile; struct coda_zapdir_out zapdir; struct coda_purgefid_out purgefid; struct coda_replace_out replace; }; /* * Used for identifying usage of "Control" and pioctls */ #define PIOCPARM_MASK 0x0000ffff struct ViceIoctl { void *in; /* Data to be transferred in */ void *out; /* Data to be transferred out */ u_short in_size; /* Size of input buffer <= 2K */ u_short out_size; /* Maximum size of output buffer, <= 2K */ }; struct PioctlData { const char *path; int follow; struct ViceIoctl vi; }; #define CODA_CONTROL ".CONTROL" #define CODA_CONTROLLEN 8 #define CTL_INO -1 /* Data passed to mount */ #define CODA_MOUNT_VERSION 1 struct coda_mount_data { int version; int fd; /* Opened device */ }; #endif /* _CODA_HEADER_ */