All of lore.kernel.org
 help / color / mirror / Atom feed
From: der.herr@hofr.at (Nicholas Mc Guire)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Data Type used in kernel .
Date: Fri, 23 Dec 2016 11:52:33 +0000	[thread overview]
Message-ID: <20161223115233.GA13725@osadl.at> (raw)
In-Reply-To: <CAKUCuZzTSxiK1BwdA7h1Di709fgR4uEqU8DCk3bNSAH-FkNSgQ@mail.gmail.com>

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@gmail.com>
> 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

  reply	other threads:[~2016-12-23 11:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-23 11:20 Data Type used in kernel Wasim Akram
2016-12-23 11:33 ` Pasquier, Thomas
2016-12-23 11:52   ` Nicholas Mc Guire [this message]
2016-12-23 18:01     ` Greg KH
2016-12-24  8:06       ` Nicholas Mc Guire
2016-12-24  9:37         ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161223115233.GA13725@osadl.at \
    --to=der.herr@hofr.at \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.