Lines Matching +full:fixed +full:- +full:layout

18 the ioctl system call. While this can be any 32-bit number that uniquely
22 ``include/uapi/asm-generic/ioctl.h`` provides four macros for defining
36 An 8-bit number, often a character literal, specific to a subsystem
37 or driver, and listed in Documentation/userspace-api/ioctl/ioctl-number.rst
40 An 8-bit number identifying the specific command, unique for a give
45 encodes the ``sizeof(data_type)`` value in a 13-bit or 14-bit integer,
74 handler returns either -ENOTTY or -ENOIOCTLCMD, which also results in
75 -ENOTTY being returned from the system call. Some subsystems return
76 -ENOSYS or -EINVAL here for historic reasons, but this is wrong.
79 -ENOIOCTLCMD in order to use the fallback conversion into native
90 move to 64-bit time_t.
97 functions can be used to ensure that the layout remains compatible with
101 requires an expensive 64-bit division, a simple __u64 nanosecond value
112 32-bit compat mode
115 In order to support 32-bit user space running on a 64-bit machine, each
124 ------------
126 On the s390 architecture, 31-bit user space has ambiguous representations
129 clear the upper bit of a compat_uptr_t and turn it into a valid 64-bit
136 ensure that the 64-bit kernel behaves the same way as a 32-bit kernel
143 Structure layout
144 ----------------
146 Compatible data structures have the same layout on all architectures,
150 they can be either 32-bit or 64-bit wide and cannot be used in portable
151 data structures. Fixed-length replacements are ``__s32``, ``__u32``,
160 * On the x86-32 (i386) architecture, the alignment of 64-bit variables
161 is only 32-bit, but they are naturally aligned on most other
162 architectures including x86-64. This means a structure like::
170 has four bytes of padding between a and b on x86-64, plus another four
179 * On ARM OABI user space, structures are padded to multiples of 32-bit,
181 do not end on a 32-bit boundary.
184 alignment greater than 16-bit, which is a problem when relying on
188 but some properties of them are implementation-defined, so it is better
192 the architecture, so the __u8 and __s8 types should be used for 8-bit
193 integer values, though char arrays are clearer for fixed-length strings.
200 space layout randomization (KASLR), helping in an attack.
224 * The complexity of user space access and data structure layout is done
237 * System calls are a better choice for a system-wide feature that
244 * debugfs is used for ad-hoc interfaces for debugging functionality
247 * sysfs is a good way to expose the state of an in-kernel object