OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [asm-sparc/] [posix_types.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
#ifndef __ARCH_SPARC_POSIX_TYPES_H
2
#define __ARCH_SPARC_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
/* When cross-compilation is no longer an issue, fix this. */
11
#ifdef __svr4__
12
typedef unsigned int           __kernel_size_t;      /* solaris sucks */
13
#else
14
typedef long unsigned int      __kernel_size_t;      /* sunos is much better */
15
#endif /* !(__svr4__) */
16
 
17
typedef int                    __kernel_ssize_t;
18
typedef long int               __kernel_ptrdiff_t;
19
typedef long                   __kernel_time_t;
20
typedef long                   __kernel_clock_t;
21
typedef int                    __kernel_pid_t;
22
typedef unsigned short         __kernel_uid_t;
23
typedef unsigned short         __kernel_gid_t;
24
typedef unsigned short         __kernel_dev_t;
25
typedef unsigned long          __kernel_ino_t;
26
typedef unsigned short         __kernel_mode_t;
27
typedef unsigned short         __kernel_umode_t;
28
typedef short                  __kernel_nlink_t;
29
typedef long                   __kernel_daddr_t;
30
typedef long                   __kernel_off_t;
31
typedef char *                 __kernel_caddr_t;
32
 
33
#ifdef __GNUC__
34
typedef long long       __kernel_loff_t;
35
#endif
36
 
37
typedef struct {
38
        int     val[2];
39
} __kernel_fsid_t;
40
 
41
#undef __FD_SET
42
static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
43
{
44
        unsigned long _tmp = fd / __NFDBITS;
45
        unsigned long _rem = fd % __NFDBITS;
46
        fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
47
}
48
 
49
#undef __FD_CLR
50
static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
51
{
52
        unsigned long _tmp = fd / __NFDBITS;
53
        unsigned long _rem = fd % __NFDBITS;
54
        fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
55
}
56
 
57
#undef __FD_ISSET
58
static __inline__ int __FD_ISSET(unsigned long fd, __kernel_fd_set *p)
59
{
60
        unsigned long _tmp = fd / __NFDBITS;
61
        unsigned long _rem = fd % __NFDBITS;
62
        return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0;
63
}
64
 
65
/*
66
 * This will unroll the loop for the normal constant cases (4 or 8 longs,
67
 * for 256 and 512-bit fd_sets respectively)
68
 */
69
#undef __FD_ZERO
70
static __inline__ void __FD_ZERO(__kernel_fd_set *p)
71
{
72
        unsigned int *tmp = p->fds_bits;
73
        int i;
74
 
75
        if (__builtin_constant_p(__FDSET_INTS)) {
76
                switch (__FDSET_INTS) {
77
                        case 8:
78
                                tmp[0] = 0; tmp[1] = 0; tmp[2] = 0; tmp[3] = 0;
79
                                tmp[4] = 0; tmp[5] = 0; tmp[6] = 0; tmp[7] = 0;
80
                                return;
81
                        case 4:
82
                                tmp[0] = 0; tmp[1] = 0; tmp[2] = 0; tmp[3] = 0;
83
                                return;
84
                }
85
        }
86
        i = __FDSET_INTS;
87
        while (i) {
88
                i--;
89
                *tmp = 0;
90
                tmp++;
91
        }
92
}
93
 
94
#endif /* !(__ARCH_SPARC_POSIX_TYPES_H) */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.