1/* 2 * U-boot - posix_types.h 3 * 4 * Copyright (c) 2005-2007 Analog Devices Inc. 5 * 6 * (C) Copyright 2000-2004 7 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 8 * 9 * See file CREDITS for list of people who contributed to this 10 * project. 11 * 12 * This program is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License as 14 * published by the Free Software Foundation; either version 2 of 15 * the License, or (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program; if not, write to the Free Software 24 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 25 * MA 02110-1301 USA 26 */ 27 28#ifndef __ARCH_BLACKFIN_POSIX_TYPES_H 29#define __ARCH_BLACKFIN_POSIX_TYPES_H 30 31/* 32 * This file is generally used by user-level software, so you need to 33 * be a little careful about namespace pollution etc. Also, we cannot 34 * assume GCC is being used. 35 */ 36 37typedef unsigned short __kernel_dev_t; 38typedef unsigned long __kernel_ino_t; 39typedef unsigned short __kernel_mode_t; 40typedef unsigned short __kernel_nlink_t; 41typedef long __kernel_off_t; 42typedef int __kernel_pid_t; 43typedef unsigned int __kernel_ipc_pid_t; 44typedef unsigned int __kernel_uid_t; 45typedef unsigned int __kernel_gid_t; 46typedef unsigned long __kernel_size_t; 47typedef long __kernel_ssize_t; 48typedef int __kernel_ptrdiff_t; 49typedef long __kernel_time_t; 50typedef long __kernel_suseconds_t; 51typedef long __kernel_clock_t; 52typedef int __kernel_timer_t; 53typedef int __kernel_clockid_t; 54typedef int __kernel_daddr_t; 55typedef char *__kernel_caddr_t; 56typedef unsigned short __kernel_uid16_t; 57typedef unsigned short __kernel_gid16_t; 58typedef unsigned int __kernel_uid32_t; 59typedef unsigned int __kernel_gid32_t; 60 61typedef unsigned short __kernel_old_uid_t; 62typedef unsigned short __kernel_old_gid_t; 63 64#define BOOL_WAS_DEFINED 65typedef enum { false = 0, true = 1 } bool; 66 67#ifdef __GNUC__ 68typedef long long __kernel_loff_t; 69#endif 70 71typedef struct { 72 int val[2]; 73} __kernel_fsid_t; 74 75#if defined(__KERNEL__) 76 77#undef __FD_SET 78#define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) 79 80#undef __FD_CLR 81#define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) 82 83#undef __FD_ISSET 84#define __FD_ISSET(d, set) ((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) 85 86#undef __FD_ZERO 87#define __FD_ZERO(fdsetp) (memset (fdsetp, 0, sizeof(*(fd_set *)fdsetp))) 88 89#endif /* defined(__KERNEL__) */ 90 91#endif 92