1/*
2 * include/asm-v850/posix_types.h -- Kernel versions of standard types
3 *
4 *  Copyright (C) 2001,02,03  NEC Electronics Corporation
5 *  Copyright (C) 2001,02,03  Miles Bader <miles@gnu.org>
6 *
7 * This file is subject to the terms and conditions of the GNU General
8 * Public License.  See the file COPYING in the main directory of this
9 * archive for more details.
10 *
11 * Written by Miles Bader <miles@gnu.org>
12 */
13
14#ifndef __V850_POSIX_TYPES_H__
15#define __V850_POSIX_TYPES_H__
16
17typedef unsigned long	__kernel_ino_t;
18typedef unsigned long long __kernel_ino64_t;
19typedef unsigned int	__kernel_mode_t;
20typedef unsigned int	__kernel_nlink_t;
21typedef long		__kernel_off_t;
22typedef long long	__kernel_loff_t;
23typedef int		__kernel_pid_t;
24typedef unsigned short	__kernel_ipc_pid_t;
25typedef unsigned int	__kernel_uid_t;
26typedef unsigned int	__kernel_gid_t;
27typedef unsigned int	__kernel_size_t;
28typedef int		__kernel_ssize_t;
29typedef int		__kernel_ptrdiff_t;
30typedef long		__kernel_time_t;
31typedef long		__kernel_suseconds_t;
32typedef long		__kernel_clock_t;
33typedef int		__kernel_timer_t;
34typedef int		__kernel_clockid_t;
35typedef int		__kernel_daddr_t;
36typedef char *		__kernel_caddr_t;
37typedef unsigned short	__kernel_uid16_t;
38typedef unsigned short	__kernel_gid16_t;
39typedef unsigned int	__kernel_uid32_t;
40typedef unsigned int	__kernel_gid32_t;
41
42/* Some bogus code depends on this; we don't care.  */
43typedef __kernel_uid_t __kernel_old_uid_t;
44typedef unsigned int	__kernel_old_dev_t;
45
46typedef struct {
47#if defined(__KERNEL__) || defined(__USE_ALL)
48	int	val[2];
49#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
50	int	__val[2];
51#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
52} __kernel_fsid_t;
53
54
55#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
56
57/* We used to include <asm/bitops.h> here, which seems the right thing, but
58   it caused nasty include-file definition order problems.  Removing the
59   include seems to work, so fingers crossed...  */
60
61#undef	__FD_SET
62#define __FD_SET(fd, fd_set) \
63  __set_bit (fd, (void *)&((__kernel_fd_set *)fd_set)->fds_bits)
64#undef __FD_CLR
65#define __FD_CLR(fd, fd_set) \
66  __clear_bit (fd, (void *)&((__kernel_fd_set *)fd_set)->fds_bits)
67#undef	__FD_ISSET
68#define __FD_ISSET(fd, fd_set) \
69  __test_bit (fd, (void *)&((__kernel_fd_set *)fd_set)->fds_bits)
70#undef	__FD_ZERO
71#define __FD_ZERO(fd_set) \
72  memset (fd_set, 0, sizeof (*(fd_set *)fd_set))
73
74#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
75
76#endif /* __V850_POSIX_TYPES_H__ */
77