fdwalk should return 0 on an empty directory
[kopensolaris-gnu/glibc.git] / sysdeps / sh / sys / ucontext.h
1 /* Copyright (C) 1999, 2000, 2001 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, write to the Free
16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17    02111-1307 USA.  */
18
19 /* Where is System V/SH ABI?  */
20
21 #ifndef _SYS_UCONTEXT_H
22 #define _SYS_UCONTEXT_H 1
23
24 #include <features.h>
25 #include <signal.h>
26
27 typedef int greg_t;
28
29 /* Number of general registers.  */
30 #define NFPREG  16
31
32 /* Container for all general registers.  */
33 typedef greg_t gregset_t[NFPREG];
34
35 /* Number of each register is the `gregset_t' array.  */
36 enum
37 {
38   R0 = 0,
39 #define R0      R0
40   R1 = 1,
41 #define R1      R1
42   R2 = 2,
43 #define R2      R2
44   R3 = 3,
45 #define R3      R3
46   R4 = 4,
47 #define R4      R4
48   R5 = 5,
49 #define R5      R5
50   R6 = 6,
51 #define R6      R6
52   R7 = 7,
53 #define R7      R7
54   R8 = 8,
55 #define R8      R8
56   R9 = 9,
57 #define R9      R9
58   R10 = 10,
59 #define R10     R10
60   R11 = 11,
61 #define R11     R11
62   R12 = 12,
63 #define R12     R12
64   R13 = 13,
65 #define R13     R13
66   R14 = 14,
67 #define R14     R14
68   R15 = 15,
69 #define R15     R15
70 };
71
72 typedef int freg_t;
73
74 /* Number of FPU registers.  */
75 #define NFREG   16
76
77 /* Structure to describe FPU registers.  */
78 typedef freg_t fpregset_t[NFREG];
79
80 /* Context to describe whole processor state.  */
81 typedef struct
82   {
83     gregset_t gregs;
84     fpregset_t fpregs;
85     fpregset_t xfpregs;
86   } mcontext_t;
87
88 /* Userlevel context.  */
89 typedef struct ucontext
90   {
91     unsigned long int uc_flags;
92     struct ucontext *uc_link;
93     __sigset_t uc_sigmask;
94     stack_t uc_stack;
95     mcontext_t uc_mcontext;
96     long int uc_filler[5];
97   } ucontext_t;
98
99 #endif /* sys/ucontext.h */