Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
2
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
7a77edf
Documentation
LICENSES
arch
block
certs
crypto
drivers
fs
include
acpi
asm-generic
clocksource
crypto
cxl
drm
dt-bindings
keys
kunit
kvm
linux
amba
atomic
avf
bcma
bus
byteorder
can
cdx
ceph
clk
comedi
crush
decompress
device
dma
dsa
extcon
firmware
fpga
framer
fsl
gpio
greybus
habanalabs
hsi
i3c
iio
input
io_uring
irqchip
isdn
lockd
lsm
mailbox
mdio
mfd
misc
mlx4
mlx5
mmc
mtd
mux
net
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
8250_pci.h
acct.h
acpi.h
acpi_amd_wbrf.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
alloc_tag.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pmf-io.h
anon_inodes.h
aperture.h
apm-emulation.h
apm_bios.h
apple-gmux.h
arch_topology.h
args.h
arm-cci.h
arm-smccc.h
arm_ffa.h
arm_sdei.h
armada-37xx-rwtm-mailbox.h
array_size.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
atm.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-ssc.h
atmel_pdc.h
atomic.h
attribute_container.h
audit.h
audit_arch.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h
backing-file.h
backlight.h
badblocks.h
balloon_compaction.h
base64.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio-integrity.h
bio.h
bit_spinlock.h
bitfield.h
bitmap-str.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h
bpf-netns.h
bpf.h
bpf_crypto.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h
bpf_mprog.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
btf_ids.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h
c2port.h
cache.h
cacheflush.h
cacheinfo.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cfi_types.h
cgroup-defs.h
cgroup.h
cgroup_api.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
circ_buf.h
cleanup.h
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
closure.h
cma.h
cmpxchg-emu.h
cn_proc.h
cnt32_to_63.h
coda.h
codetag.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h
compiler_attributes.h
compiler_types.h
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
container_of.h
context_tracking.h
context_tracking_irq.h
context_tracking_state.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpufeature.h
cpufreq.h
cpuhotplug.h
cpuhplock.h
cpuidle.h
cpuidle_haltpoll.h
cpumask.h
cpumask_api.h
cpumask_types.h
cpuset.h
crash_core.h
crash_dump.h
crash_reserve.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc4.h
crc64.h
crc7.h
crc8.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
damon.h
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dm9000.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence-unwrap.h
dma-fence.h
dma-heap.h
dma-map-ops.h
dma-mapping.h
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dpll.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_config.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
efi-bgrt.h
efi.h
efi_embedded_fw.h
efs_vh.h
eisa.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h
entry-common.h
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
ethtool_netlink.h
eventfd.h
eventpoll.h
evm.h
execmem.h
export-internal.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
file_ref.h
fileattr.h
filelock.h
filter.h
find.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
folio_queue.h
font.h
fortify-string.h
fprobe.h
fpu.h
freezer.h
fs.h
fs_api.h
fs_context.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
fsverity.h
ftrace.h
ftrace_irq.h
ftrace_regs.h
futex.h
fw_table.h
fwnode.h
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
gfp_api.h
gfp_types.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hid_bpf.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hisi_acc_qm.h
hmm.h
host1x.h
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
hrtimer_types.h
hte.h
huge_mm.h
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-atr.h
i2c-dev.h
i2c-mux.h
i2c-of-prober.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
i8254.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
int_log.h
integrity.h
intel-ish-client-if.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
intel_vsec.h
interconnect-clk.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
io_uring.h
io_uring_types.h
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
iocontext.h
iomap.h
iommu-dma.h
iommu-helper.h
iommu.h
iommufd.h
iopoll.h
ioport.h
ioprio.h
ioremap.h
iosys-map.h
iov_iter.h
iova.h
iova_bitmap.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqdomain_defs.h
irqflags.h
irqflags_types.h
irqhandler.h
irqnr.h
irqreturn.h
isa-dma.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
ism.h
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsan-checks.h
kmsan.h
kmsan_string.h
kmsan_types.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_api.h
kobject_ns.h
kprobes.h
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime.h
ktime_api.h
kvm_dirty_ring.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-class-multicolor.h
led-lm3530.h
leds-bd2802.h
leds-expresswire.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h
livepatch_sched.h
llc.h
llist.h
llist_api.h
local_lock.h
local_lock_internal.h
lockdep.h
lockdep_api.h
lockdep_types.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_count.h
lsm_hook_defs.h
lsm_hooks.h
lwq.h
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple.h
maple_tree.h
marvell_phy.h
math.h
math64.h
mbcache.h
mbus.h
mc146818rtc.h
mc6821.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h
memfd.h
memory-tiers.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memregion.h
memremap.h
memstick.h
mhi.h
mhi_ep.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mm.h
mm_api.h
mm_inline.h
mm_types.h
mm_types_task.h
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
module.h
module_signature.h
module_symbol.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h
msi_api.h
mtio.h
mutex.h
mutex_api.h
mutex_types.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net.h
net_tstamp.h
netdev_features.h
netdevice.h
netdevice_xmit.h
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfs.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_common.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfsacl.h
nfslocalio.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nodemask_types.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
numa_memblks.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-keyring.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
oa_tc6.h
objagg.h
objpool.h
objtool.h
objtool_types.h
of.h
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
once_lite.h
oom.h
openvswitch.h
osq_lock.h
overflow.h
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_frag_cache.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h
pagemap.h
pagevec.h
pagewalk.h
panic.h
panic_notifier.h
papr_scm.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-bwctrl.h
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci-pwrctrl.h
pci-tph.h
pci.h
pci_hotplug.h
pci_ids.h
pcs-lynx.h
pcs-rzn1-miic.h
542 entries not shown
math-emu
media
memory
misc
net
pcmcia
ras
rdma
rv
scsi
soc
sound
target
trace
uapi
ufs
vdso
video
xen
init
io_uring
ipc
kernel
lib
mm
net
rust
samples
scripts
security
sound
tools
usr
virt
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Breadcrumbs
linux
/
include
/
linux
/
types.h
Copy path
Blame
Blame
Latest commit
History
History
252 lines (206 loc) · 6.04 KB
Breadcrumbs
linux
/
include
/
linux
/
types.h
Top
File metadata and controls
Code
Blame
252 lines (206 loc) · 6.04 KB
Raw
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_TYPES_H #define _LINUX_TYPES_H #define __EXPORTED_HEADERS__ #include <uapi/linux/types.h> #ifndef __ASSEMBLY__ #define DECLARE_BITMAP(name,bits) \ unsigned long name[BITS_TO_LONGS(bits)] #ifdef __SIZEOF_INT128__ typedef __s128 s128; typedef __u128 u128; #endif typedef u32 __kernel_dev_t; typedef __kernel_fd_set fd_set; typedef __kernel_dev_t dev_t; typedef __kernel_ulong_t ino_t; typedef __kernel_mode_t mode_t; typedef unsigned short umode_t; typedef u32 nlink_t; typedef __kernel_off_t off_t; typedef __kernel_pid_t pid_t; typedef __kernel_daddr_t daddr_t; typedef __kernel_key_t key_t; typedef __kernel_suseconds_t suseconds_t; typedef __kernel_timer_t timer_t; typedef __kernel_clockid_t clockid_t; typedef __kernel_mqd_t mqd_t; typedef _Bool bool; typedef __kernel_uid32_t uid_t; typedef __kernel_gid32_t gid_t; typedef __kernel_uid16_t uid16_t; typedef __kernel_gid16_t gid16_t; typedef unsigned long uintptr_t; typedef long intptr_t; #ifdef CONFIG_HAVE_UID16 /* This is defined by arch/{arch}/include/asm/posix_types.h */ typedef __kernel_old_uid_t old_uid_t; typedef __kernel_old_gid_t old_gid_t; #endif /* CONFIG_UID16 */ #if defined(__GNUC__) typedef __kernel_loff_t loff_t; #endif /* * The following typedefs are also protected by individual ifdefs for * historical reasons: */ #ifndef _SIZE_T #define _SIZE_T typedef __kernel_size_t size_t; #endif #ifndef _SSIZE_T #define _SSIZE_T typedef __kernel_ssize_t ssize_t; #endif #ifndef _PTRDIFF_T #define _PTRDIFF_T typedef __kernel_ptrdiff_t ptrdiff_t; #endif #ifndef _CLOCK_T #define _CLOCK_T typedef __kernel_clock_t clock_t; #endif #ifndef _CADDR_T #define _CADDR_T typedef __kernel_caddr_t caddr_t; #endif /* bsd */ typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; /* sysv */ typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; #ifndef __BIT_TYPES_DEFINED__ #define __BIT_TYPES_DEFINED__ typedef u8 u_int8_t; typedef s8 int8_t; typedef u16 u_int16_t; typedef s16 int16_t; typedef u32 u_int32_t; typedef s32 int32_t; #endif /* !(__BIT_TYPES_DEFINED__) */ typedef u8 uint8_t; typedef u16 uint16_t; typedef u32 uint32_t; #if defined(__GNUC__) typedef u64 uint64_t; typedef u64 u_int64_t; typedef s64 int64_t; #endif /* These are the special 64-bit data types that are 8-byte aligned */ #define aligned_u64 __aligned_u64 #define aligned_s64 __aligned_s64 #define aligned_be64 __aligned_be64 #define aligned_le64 __aligned_le64 /* Nanosecond scalar representation for kernel time values */ typedef s64 ktime_t; /** * The type used for indexing onto a disc or disc partition. * * Linux always considers sectors to be 512 bytes long independently * of the devices real block size. * * blkcnt_t is the type of the inode's block count. */ typedef u64 sector_t; typedef u64 blkcnt_t; /* * The type of an index into the pagecache. */ #define pgoff_t unsigned long /* * A dma_addr_t can hold any valid DMA address, i.e., any address returned * by the DMA API. * * If the DMA API only uses 32-bit addresses, dma_addr_t need only be 32 * bits wide. Bus addresses, e.g., PCI BARs, may be wider than 32 bits, * but drivers do memory-mapped I/O to ioremapped kernel virtual addresses, * so they don't care about the size of the actual bus addresses. */ #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT typedef u64 dma_addr_t; #else typedef u32 dma_addr_t; #endif typedef unsigned int __bitwise gfp_t; typedef unsigned int __bitwise slab_flags_t; typedef unsigned int __bitwise fmode_t; #ifdef CONFIG_PHYS_ADDR_T_64BIT typedef u64 phys_addr_t; #else typedef u32 phys_addr_t; #endif typedef phys_addr_t resource_size_t; /* * This type is the placeholder for a hardware interrupt number. It has to be * big enough to enclose whatever representation is used by a given platform. */ typedef unsigned long irq_hw_number_t; typedef struct { int counter; } atomic_t; #define ATOMIC_INIT(i) { (i) } #ifdef CONFIG_64BIT typedef struct { s64 counter; } atomic64_t; #endif typedef struct { atomic_t refcnt; } rcuref_t; #define RCUREF_INIT(i) { .refcnt = ATOMIC_INIT(i - 1) } struct list_head { struct list_head *next, *prev; }; struct hlist_head { struct hlist_node *first; }; struct hlist_node { struct hlist_node *next, **pprev; }; struct ustat { __kernel_daddr_t f_tfree; #ifdef CONFIG_ARCH_32BIT_USTAT_F_TINODE unsigned int f_tinode; #else unsigned long f_tinode; #endif char f_fname[6]; char f_fpack[6]; }; /** * struct callback_head - callback structure for use with RCU and task_work * @next: next update requests in a list * @func: actual update function to call after the grace period. * * The struct is aligned to size of pointer. On most architectures it happens * naturally due ABI requirements, but some architectures (like CRIS) have * weird ABI and we need to ask it explicitly. * * The alignment is required to guarantee that bit 0 of @next will be * clear under normal conditions -- as long as we use call_rcu() or * call_srcu() to queue the callback. * * This guarantee is important for few reasons: * - future call_rcu_lazy() will make use of lower bits in the pointer; * - the structure shares storage space in struct page with @compound_head, * which encode PageTail() in bit 0. The guarantee is needed to avoid * false-positive PageTail(). */ struct callback_head { struct callback_head *next; void (*func)(struct callback_head *head); } __attribute__((aligned(sizeof(void *)))); #define rcu_head callback_head typedef void (*rcu_callback_t)(struct rcu_head *head); typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func); typedef void (*swap_r_func_t)(void *a, void *b, int size, const void *priv); typedef void (*swap_func_t)(void *a, void *b, int size); typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv); typedef int (*cmp_func_t)(const void *a, const void *b); #endif /* __ASSEMBLY__ */ #endif /* _LINUX_TYPES_H */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
You can’t perform that action at this time.