~james-page/ubuntu/utopic/gccgo-go/cgo-support

« back to all changes in this revision

Viewing changes to src/pkg/runtime/defs_linux_arm.h

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-01-27 09:18:55 UTC
  • Revision ID: package-import@ubuntu.com-20140127091855-zxfshmykfsyyw4b2
Tags: upstream-1.2
ImportĀ upstreamĀ versionĀ 1.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// TODO: Generate using cgo like defs_linux_{386,amd64}.h
 
2
 
 
3
// Constants
 
4
enum {
 
5
        EINTR  = 0x4,
 
6
        ENOMEM = 0xc,
 
7
        EAGAIN = 0xb,
 
8
 
 
9
        PROT_NONE = 0,
 
10
        PROT_READ = 0x1,
 
11
        PROT_WRITE = 0x2,
 
12
        PROT_EXEC = 0x4,
 
13
        MAP_ANON = 0x20,
 
14
        MAP_PRIVATE = 0x2,
 
15
        MAP_FIXED = 0x10,
 
16
        MADV_DONTNEED = 0x4,
 
17
        SA_RESTART = 0x10000000,
 
18
        SA_ONSTACK = 0x8000000,
 
19
        SA_RESTORER = 0x4000000,
 
20
        SA_SIGINFO = 0x4,
 
21
        SIGHUP = 0x1,
 
22
        SIGINT = 0x2,
 
23
        SIGQUIT = 0x3,
 
24
        SIGILL = 0x4,
 
25
        SIGTRAP = 0x5,
 
26
        SIGABRT = 0x6,
 
27
        SIGBUS = 0x7,
 
28
        SIGFPE = 0x8,
 
29
        SIGKILL = 0x9,
 
30
        SIGUSR1 = 0xa,
 
31
        SIGSEGV = 0xb,
 
32
        SIGUSR2 = 0xc,
 
33
        SIGPIPE = 0xd,
 
34
        SIGALRM = 0xe,
 
35
        SIGSTKFLT = 0x10,
 
36
        SIGCHLD = 0x11,
 
37
        SIGCONT = 0x12,
 
38
        SIGSTOP = 0x13,
 
39
        SIGTSTP = 0x14,
 
40
        SIGTTIN = 0x15,
 
41
        SIGTTOU = 0x16,
 
42
        SIGURG = 0x17,
 
43
        SIGXCPU = 0x18,
 
44
        SIGXFSZ = 0x19,
 
45
        SIGVTALRM = 0x1a,
 
46
        SIGPROF = 0x1b,
 
47
        SIGWINCH = 0x1c,
 
48
        SIGIO = 0x1d,
 
49
        SIGPWR = 0x1e,
 
50
        SIGSYS = 0x1f,
 
51
        FPE_INTDIV = 0x1,
 
52
        FPE_INTOVF = 0x2,
 
53
        FPE_FLTDIV = 0x3,
 
54
        FPE_FLTOVF = 0x4,
 
55
        FPE_FLTUND = 0x5,
 
56
        FPE_FLTRES = 0x6,
 
57
        FPE_FLTINV = 0x7,
 
58
        FPE_FLTSUB = 0x8,
 
59
        BUS_ADRALN = 0x1,
 
60
        BUS_ADRERR = 0x2,
 
61
        BUS_OBJERR = 0x3,
 
62
        SEGV_MAPERR = 0x1,
 
63
        SEGV_ACCERR = 0x2,
 
64
        ITIMER_REAL = 0,
 
65
        ITIMER_PROF = 0x2,
 
66
        ITIMER_VIRTUAL = 0x1,
 
67
        O_RDONLY = 0,
 
68
        O_CLOEXEC = 02000000,
 
69
 
 
70
        EPOLLIN         = 0x1,
 
71
        EPOLLOUT        = 0x4,
 
72
        EPOLLERR        = 0x8,
 
73
        EPOLLHUP        = 0x10,
 
74
        EPOLLRDHUP      = 0x2000,
 
75
        EPOLLET         = -0x80000000,
 
76
        EPOLL_CLOEXEC   = 0x80000,
 
77
        EPOLL_CTL_ADD   = 0x1,
 
78
        EPOLL_CTL_DEL   = 0x2,
 
79
        EPOLL_CTL_MOD   = 0x3,
 
80
};
 
81
 
 
82
// Types
 
83
#pragma pack on
 
84
 
 
85
typedef struct Timespec Timespec;
 
86
struct Timespec {
 
87
        int32 tv_sec;
 
88
        int32 tv_nsec;
 
89
};
 
90
 
 
91
typedef struct Sigaltstack Sigaltstack;
 
92
struct Sigaltstack {
 
93
        void *ss_sp;
 
94
        int32 ss_flags;
 
95
        uint32 ss_size;
 
96
};
 
97
 
 
98
typedef struct Sigcontext Sigcontext;
 
99
struct Sigcontext {
 
100
        uint32 trap_no;
 
101
        uint32 error_code;
 
102
        uint32 oldmask;
 
103
        uint32 arm_r0;
 
104
        uint32 arm_r1;
 
105
        uint32 arm_r2;
 
106
        uint32 arm_r3;
 
107
        uint32 arm_r4;
 
108
        uint32 arm_r5;
 
109
        uint32 arm_r6;
 
110
        uint32 arm_r7;
 
111
        uint32 arm_r8;
 
112
        uint32 arm_r9;
 
113
        uint32 arm_r10;
 
114
        uint32 arm_fp;
 
115
        uint32 arm_ip;
 
116
        uint32 arm_sp;
 
117
        uint32 arm_lr;
 
118
        uint32 arm_pc;
 
119
        uint32 arm_cpsr;
 
120
        uint32 fault_address;
 
121
};
 
122
 
 
123
typedef struct Ucontext Ucontext;
 
124
struct Ucontext {
 
125
        uint32 uc_flags;
 
126
        Ucontext *uc_link;
 
127
        Sigaltstack uc_stack;
 
128
        Sigcontext uc_mcontext;
 
129
        uint32 uc_sigmask;
 
130
        int32 __unused[31];
 
131
        uint32 uc_regspace[128];
 
132
};
 
133
 
 
134
typedef struct Timeval Timeval;
 
135
struct Timeval {
 
136
        int32 tv_sec;
 
137
        int32 tv_usec;
 
138
};
 
139
 
 
140
typedef struct Itimerval Itimerval;
 
141
struct Itimerval {
 
142
        Timeval it_interval;
 
143
        Timeval it_value;
 
144
};
 
145
 
 
146
typedef struct Siginfo Siginfo;
 
147
struct Siginfo {
 
148
        int32 si_signo;
 
149
        int32 si_errno;
 
150
        int32 si_code;
 
151
        uint8 _sifields[4];
 
152
};
 
153
 
 
154
typedef struct Sigaction Sigaction;
 
155
struct Sigaction {
 
156
        void *sa_handler;
 
157
        uint32 sa_flags;
 
158
        void *sa_restorer;
 
159
        uint64 sa_mask;
 
160
};
 
161
 
 
162
typedef struct EpollEvent EpollEvent;
 
163
struct EpollEvent {
 
164
        uint32  events;
 
165
        uint32  _pad;
 
166
        uint64  data;
 
167
};
 
168
#pragma pack off