cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / x86_64-linux-gnu / bits / auxv.h
1 /* Copyright (C) 1995-2013 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <http://www.gnu.org/licenses/>.  */
17
18 /* Legal values for a_type (entry type).  */
19
20 #define AT_NULL         0               /* End of vector */
21 #define AT_IGNORE       1               /* Entry should be ignored */
22 #define AT_EXECFD       2               /* File descriptor of program */
23 #define AT_PHDR         3               /* Program headers for program */
24 #define AT_PHENT        4               /* Size of program header entry */
25 #define AT_PHNUM        5               /* Number of program headers */
26 #define AT_PAGESZ       6               /* System page size */
27 #define AT_BASE         7               /* Base address of interpreter */
28 #define AT_FLAGS        8               /* Flags */
29 #define AT_ENTRY        9               /* Entry point of program */
30 #define AT_NOTELF       10              /* Program is not ELF */
31 #define AT_UID          11              /* Real uid */
32 #define AT_EUID         12              /* Effective uid */
33 #define AT_GID          13              /* Real gid */
34 #define AT_EGID         14              /* Effective gid */
35 #define AT_CLKTCK       17              /* Frequency of times() */
36
37 /* Some more special a_type values describing the hardware.  */
38 #define AT_PLATFORM     15              /* String identifying platform.  */
39 #define AT_HWCAP        16              /* Machine-dependent hints about
40                                            processor capabilities.  */
41
42 /* This entry gives some information about the FPU initialization
43    performed by the kernel.  */
44 #define AT_FPUCW        18              /* Used FPU control word.  */
45
46 /* Cache block sizes.  */
47 #define AT_DCACHEBSIZE  19              /* Data cache block size.  */
48 #define AT_ICACHEBSIZE  20              /* Instruction cache block size.  */
49 #define AT_UCACHEBSIZE  21              /* Unified cache block size.  */
50
51 /* A special ignored value for PPC, used by the kernel to control the
52    interpretation of the AUXV. Must be > 16.  */
53 #define AT_IGNOREPPC    22              /* Entry should be ignored.  */
54
55 #define AT_SECURE       23              /* Boolean, was exec setuid-like?  */
56
57 #define AT_BASE_PLATFORM 24             /* String identifying real platforms.*/
58
59 #define AT_RANDOM       25              /* Address of 16 random bytes.  */
60
61 #define AT_HWCAP2       26              /* More machine-dependent hints about
62                                            processor capabilities.  */
63
64 #define AT_EXECFN       31              /* Filename of executable.  */
65
66 /* Pointer to the global system page used for system calls and other
67    nice things.  */
68 #define AT_SYSINFO      32
69 #define AT_SYSINFO_EHDR 33
70
71 /* Shapes of the caches.  Bits 0-3 contains associativity; bits 4-7 contains
72    log2 of line size; mask those to get cache size.  */
73 #define AT_L1I_CACHESHAPE       34
74 #define AT_L1D_CACHESHAPE       35
75 #define AT_L2_CACHESHAPE        36
76 #define AT_L3_CACHESHAPE        37
77
78 /* Shapes of the caches, with more room to describe them.
79    *GEOMETRY are comprised of cache line size in bytes in the bottom 16 bits
80    and the cache associativity in the next 16 bits.  */
81 #define AT_L1I_CACHESIZE        40
82 #define AT_L1I_CACHEGEOMETRY    41
83 #define AT_L1D_CACHESIZE        42
84 #define AT_L1D_CACHEGEOMETRY    43
85 #define AT_L2_CACHESIZE         44
86 #define AT_L2_CACHEGEOMETRY     45
87 #define AT_L3_CACHESIZE         46
88 #define AT_L3_CACHEGEOMETRY     47