On Fri, Dec 23, 2016 at 06:33:28AM -0500, Pasquier, Thomas wrote: > Hello Wasim, > > On Fri, Dec 23, 2016 at 6:20 AM, Wasim Akram <wasim7702843288@xxxxxxxxx> > wrote: > > > Hi , > > > > I have seen "bool" data type is used in linux kernel code . Can we > > get documentation on data type used in linux kernel development ? > > > > I think this should be a good start: > http://lxr.free-electrons.com/source/include/linux/types.h > one of the problems though is that there are a number of "historic" type systems "left over" in the kernel it seems so there actually is a bit of a mess and its not simple to figure out what things really are. For x86_64 I have a list of type matches I use for code reading (still not complete) which might help. x86 64bit: ========== Type : equivalent types bool : _Bool, char : signed char, __signed__ char, __s8, s8, int8_t unsigned char : unsigned char, u_char, __u8, u8, unchar, u_int8_t, uint8_t __ticket_t, insn_byte_t, kprobe_opcode_t short : signed short, __signed__ short, s16, int16_t unsigned short : unsigned short, __u16, u16, u_short, ushort, u_int16_t, uint16_t, __sum16, umode_t, __ticketpair_t, apm_eventinfo_t, apm_event_t, Elf32_Sword, Elf32_Half, Elf64_Half, Elf64_SHalf, __kernel_sa_family_t, __kernel_gid16_t, gid16_t, __kernel_uid16_t, uid16_t, __kernel_old_uid_t, old_uid_t, __kernel_old_gid_t, old_gid_t, arch cond: __le16/__be16 int : signed int, __signed__ int, __s32, s32, int32_t, s_int32_t Elf64_Sword, Elf64_Sxword, key_serial_t, insn_value_t, __kernel_daddr_t, daddr_t, __kernel_ipc_pid_t, pid_t, __kernel_pid_t, __kernel_mqd_t, mqd_t, __kernel_key_t, key_t, __kernel_timer_t timer_t, unsigned int : unsigned, unsigned int, __u32, u32, u_int32_t, uInt, u_int, uint, uint32_t, __wsum, nlink_t, gfp_t, fmode_t, oom_flags_t, isolate_mode_t, Elf32_Addr, Elf32_Off, Elf32_Word, Elf64_Word, key_perm_t, insn_attr_t, sk_buff_data_t, sctp_assoc_t. __kernel_dev_t, dev_t, __kernel_uid32_t, uid_t, projid_t, qid_t __kernel_gid32_t, gid_t, __kernel_uid_t, __kernel_gid_t, __kernel_mode_t, mode_t, arch cond: __le32/__be32 long : signed long, __kernel_long_t, __kernel_suseconds_t, suseconds_t, __kernel_ssize_t, ssize_t, __kernel_ptrdiff_t, __kernel_off_t, off_t, __kernel_time_t, time_t, __kernel_clock_t, clock_t, unsigned long : __kernel_ulong_t, u_long, ulong uintptr_t, sector_t, blkcnt_t, irq_hw_number_t, pteval_t, pmdval_t, pudval_t, pgdval_t, pgprotval_t, vm_flags_t, elf_greg_t, cputime_t, old_sigset_t, aio_context_t, flow_compare_t, __kernel_ino_t, ino_t __kernel_old_dev_t __kernel_size_t. size_t, arch cond: __le64/__be64 long long : signed long long, __signed__ long long, __s64, s64, int64_t time64_t, qsize_t, __kernel_loff_t, loff_t, unsigned long long: u64, __u64, uint64_t, u_int64_t dma_addr_t, cycles_t, phys_addr_t, resource_size_t cycle_t, Elf64_Addr, Elf64_Off, Elf64_Xword, cputime64_t, netdev_features_t _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies