Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 1
#ifndef __ARCH_I386_POSIX_TYPES_H
2
#define __ARCH_I386_POSIX_TYPES_H
3
 
4
/*
5
 * This file is generally used by user-level software, so you need to
6
 * be a little careful about namespace pollution etc.  Also, we cannot
7
 * assume GCC is being used.
8
 */
9
 
10
typedef unsigned long   __kernel_ino_t;
11
typedef unsigned short  __kernel_mode_t;
12
typedef unsigned short  __kernel_nlink_t;
13
typedef long            __kernel_off_t;
14
typedef int             __kernel_pid_t;
15
typedef unsigned short  __kernel_ipc_pid_t;
16
typedef unsigned short  __kernel_uid_t;
17
typedef unsigned short  __kernel_gid_t;
18
typedef unsigned int    __kernel_size_t;
19
typedef int             __kernel_ssize_t;
20
typedef int             __kernel_ptrdiff_t;
21
typedef long            __kernel_time_t;
22
typedef long            __kernel_suseconds_t;
23
typedef long            __kernel_clock_t;
24
typedef int             __kernel_timer_t;
25
typedef int             __kernel_clockid_t;
26
typedef int             __kernel_daddr_t;
27
typedef char *          __kernel_caddr_t;
28
typedef unsigned short  __kernel_uid16_t;
29
typedef unsigned short  __kernel_gid16_t;
30
typedef unsigned int    __kernel_uid32_t;
31
typedef unsigned int    __kernel_gid32_t;
32
 
33
typedef unsigned short  __kernel_old_uid_t;
34
typedef unsigned short  __kernel_old_gid_t;
35
typedef unsigned short  __kernel_old_dev_t;
36
 
37
#ifdef __GNUC__
38
typedef long long       __kernel_loff_t;
39
#endif
40
 
41
typedef struct {
42
#if defined(__KERNEL__) || defined(__USE_ALL)
43
        int     val[2];
44
#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
45
        int     __val[2];
46
#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
47
} __kernel_fsid_t;
48
 
49
#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
50
 
51
#undef  __FD_SET
52
#define __FD_SET(fd,fdsetp) \
53
                __asm__ __volatile__("btsl %1,%0": \
54
                        "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
55
 
56
#undef  __FD_CLR
57
#define __FD_CLR(fd,fdsetp) \
58
                __asm__ __volatile__("btrl %1,%0": \
59
                        "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))
60
 
61
#undef  __FD_ISSET
62
#define __FD_ISSET(fd,fdsetp) (__extension__ ({ \
63
                unsigned char __result; \
64
                __asm__ __volatile__("btl %1,%2 ; setb %0" \
65
                        :"=q" (__result) :"r" ((int) (fd)), \
66
                        "m" (*(__kernel_fd_set *) (fdsetp))); \
67
                __result; }))
68
 
69
#undef  __FD_ZERO
70
#define __FD_ZERO(fdsetp) \
71
do { \
72
        int __d0, __d1; \
73
        __asm__ __volatile__("cld ; rep ; stosl" \
74
                        :"=m" (*(__kernel_fd_set *) (fdsetp)), \
75
                          "=&c" (__d0), "=&D" (__d1) \
76
                        :"a" (0), "1" (__FDSET_LONGS), \
77
                        "2" ((__kernel_fd_set *) (fdsetp)) : "memory"); \
78
} while (0)
79
 
80
#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
81
 
82
#endif