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

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/tags/gnu-src/newlib-1.18.0/newlib-1.18.0-or32-1.0rc2/newlib/libc/sys/sparc64/sys
    from Rev 207 to Rev 520
    Reverse comparison

Rev 207 → Rev 520

/syscall.h
0,0 → 1,346
#ifndef _SYSCALL_H_
#define _SYSCALL_H_
 
/*
* This file defines the system calls for SPARC.
*
* WARNING: This file can be included by assembler files.
*/
 
#define SYS_exit 1
#define SYS_fork 2
#define SYS_read 3
#define SYS_write 4
#define SYS_open 5
#define SYS_close 6
#define SYS_wait4 7
#define SYS_creat 8
#define SYS_link 9
#define SYS_unlink 10
#define SYS_execv 11
#define SYS_chdir 12
#ifdef __svr4__
#define SYS_time 13 /* old time in sunos4 */
#endif
#define SYS_mknod 14
#define SYS_chmod 15
#define SYS_chown 16
#define SYS_brk 17
#ifdef __svr4__
#define SYS_stat 18 /* old stat in sunos4 */
#endif
#define SYS_lseek 19
#define SYS_getpid 20
#ifdef __svr4__
#define SYS_mount 21 /* old mount in sunos4 */
#define SYS_umount 22 /* old umount in sunos4 */
#define SYS_setuid 23 /* old setuid in sunos4 */
#endif
#define SYS_getuid 24
#ifdef __svr4__
#define SYS_stime 25 /* old stime in sunos4 */
#endif
#define SYS_ptrace 26
#ifdef __svr4__
#define SYS_alarm 27 /* old alarm in sunos4 */
#define SYS_fstat 28 /* old fstat in sunos4 */
#define SYS_pause 29 /* old pause in sunos4 */
#define SYS_utime 30 /* old utime in sunos4 */
#define SYS_stty 31 /* old stty in sunos4 */
#define SYS_gtty 32 /* old gtty in sunos4 */
#endif
#define SYS_access 33
#ifdef __svr4__
#define SYS_nice 34 /* old nice in sunos4 */
#define SYS_statfs 35 /* old ftime in sunos4 */
#endif
#define SYS_sync 36
#define SYS_kill 37
#ifdef __svr4__
#define SYS_fstatfs 38
#define SYS_pgrpsys 39 /* old setpgrp in sunos4 */
#define SYS_xenix 40
#else
#define SYS_stat 38
#define SYS_lstat 40
#endif
#define SYS_dup 41
#define SYS_pipe 42
#define SYS_times 43 /* times is obsolete in sunos4, used anyway */
#define SYS_profil 44
#ifdef __svr4__
#define SYS_plock 45 /* unused in sunos4 */
#define SYS_setgid 46 /* old setgid in sunos4 */
#endif
#define SYS_getgid 47
#ifdef __svr4__
#define SYS_signal 48 /* old sigsys in sunos4 */
#define SYS_msgsys 49 /* unused in sunos4 */
#define SYS_sun 50 /* unused in sunos4 */
#endif
#define SYS_acct 51
#ifdef __svr4__
#define SYS_shmsys 52 /* old phys in sunos4 */
#define SYS_semsys 53
#else
#define SYS_mctl 53
#endif
#define SYS_ioctl 54
#ifdef __svr4__
#define SYS_uadmin 55
#else
#define SYS_reboot 55
#endif
/* 56 is old: mpxchan (reserved in sunos5) */
#ifdef __svr4__
#define SYS_utssys 57
#define SYS_fsync 58
#else
#define SYS_symlink 57
#define SYS_readlink 58
#endif
#define SYS_execve 59
#define SYS_umask 60
#define SYS_chroot 61
#ifdef __svr4__
#define SYS_fcntl 62
#define SYS_ulimit 63 /* unused in sunos4 */
/* 64-77 unused/reserved in sunos5 */
#else
#define SYS_fstat 62
#define SYS_getpagesize 64
#define SYS_msync 65
/* 66 is old: vfork */
/* 67 is old: vread */
/* 68 is old: vwrite */
#define SYS_sbrk 69
#define SYS_sstk 70
#define SYS_mmap 71
#define SYS_vadvise 72
#define SYS_munmap 73
#define SYS_mprotect 74
#define SYS_madvise 75
#define SYS_vhangup 76
/* 77 is old: vlimit */
#endif
 
#ifdef __svr4__
#define SYS_rfsys 78
#define SYS_rmdir 79
#define SYS_mkdir 80
#define SYS_getdents 81
/* 82 not used, was libattach */
/* 83 not used, was libdetach */
#define SYS_sysfs 84
#define SYS_getmsg 85
#define SYS_putmsg 86
#define SYS_poll 87
#define SYS_lstat 88
#define SYS_symlink 89
#define SYS_readlink 90
#define SYS_setgroups 91
#define SYS_getgroups 92
#define SYS_fchmod 93
#define SYS_fchown 94
#define SYS_sigprocmask 95
#define SYS_sigsuspend 96
#define SYS_sigaltstack 97
#define SYS_sigaction 98
#define SYS_sigpending 99
#define SYS_context 100
#define SYS_evsys 101
#define SYS_evtrapret 102
#define SYS_statvfs 103
#define SYS_fstatvfs 104
/* 105 reserved */
#define SYS_nfssys 106
#define SYS_waitsys 107
#define SYS_sigsendsys 108
#define SYS_hrtsys 109
#define SYS_acancel 110
#define SYS_async 111
#define SYS_priocntlsys 112
#define SYS_pathconf 113
#define SYS_mincore 114
#define SYS_mmap 115
#define SYS_mprotect 116
#define SYS_munmap 117
#define SYS_fpathconf 118
#define SYS_vfork 119
#define SYS_fchdir 120
#define SYS_readv 121
#define SYS_writev 122
#define SYS_xstat 123
#define SYS_lxstat 124
#define SYS_fxstat 125
#define SYS_xmknod 126
#define SYS_clocal 127
#define SYS_setrlimit 128
#define SYS_getrlimit 129
#define SYS_lchown 130
#define SYS_memcntl 131
#define SYS_getpmsg 132
#define SYS_putpmsg 133
#define SYS_rename 134
#define SYS_uname 135
#define SYS_setegid 136
#define SYS_sysconfig 137
#define SYS_adjtime 138
#define SYS_systeminfo 139
#define SYS_seteuid 141
#define SYS_vtrace 142
#define SYS_fork1 143
#define SYS_sigwait 144
#define SYS_lwp_info 145
#define SYS_yield 146
#define SYS_lwp_sema_p 147
#define SYS_lwp_sema_v 148
#define SYS_modctl 152
#define SYS_fchroot 153
#define SYS_utimes 154
#define SYS_vhangup 155
#define SYS_gettimeofday 156
#define SYS_getitimer 157
#define SYS_setitimer 158
#define SYS_lwp_create 159
#define SYS_lwp_exit 160
#define SYS_lwp_suspend 161
#define SYS_lwp_continue 162
#define SYS_lwp_kill 163
#define SYS_lwp_self 164
#define SYS_lwp_setprivate 165
#define SYS_lwp_getprivate 166
#define SYS_lwp_wait 167
#define SYS_lwp_mutex_unlock 168
#define SYS_lwp_mutex_lock 169
#define SYS_lwp_cond_wait 170
#define SYS_lwp_cond_signal 171
#define SYS_lwp_cond_broadcast 172
#define SYS_pread 173
#define SYS_pwrite 174
#define SYS_llseek 175
#define SYS_inst_sync 176
#define SYS_auditsys 186
#else
#define SYS_mincore 78
#define SYS_getgroups 79
#define SYS_setgroups 80
#define SYS_getpgrp 81
#define SYS_setpgrp 82
#define SYS_setitimer 83
/* 84 is old: wait & wait3 */
#define SYS_swapon 85
#define SYS_getitimer 86
#define SYS_gethostname 87
#define SYS_sethostname 88
#define SYS_getdtablesize 89
#define SYS_dup2 90
#define SYS_getdopt 91
#define SYS_fcntl 92
#define SYS_select 93
#define SYS_setdopt 94
#define SYS_fsync 95
#define SYS_setpriority 96
#define SYS_socket 97
#define SYS_connect 98
#define SYS_accept 99
#define SYS_getpriority 100
#define SYS_send 101
#define SYS_recv 102
/* 103 was socketaddr */
#define SYS_bind 104
#define SYS_setsockopt 105
#define SYS_listen 106
/* 107 was vtimes */
#define SYS_sigvec 108
#define SYS_sigblock 109
#define SYS_sigsetmask 110
#define SYS_sigpause 111
#define SYS_sigstack 112
#define SYS_recvmsg 113
#define SYS_sendmsg 114
#define SYS_vtrace 115
#define SYS_gettimeofday 116
#define SYS_getrusage 117
#define SYS_getsockopt 118
/* 119 is old resuba */
#define SYS_readv 120
#define SYS_writev 121
#define SYS_settimeofday 122
#define SYS_fchown 123
#define SYS_fchmod 124
#define SYS_recvfrom 125
#define SYS_setreuid 126
#define SYS_setregid 127
#define SYS_rename 128
#define SYS_truncate 129
#define SYS_ftruncate 130
#define SYS_flock 131
/* 132 is unused */
#define SYS_sendto 133
#define SYS_shutdown 134
#define SYS_socketpair 135
#define SYS_mkdir 136
#define SYS_rmdir 137
#define SYS_utimes 138
/* 139 is unused */
#define SYS_adjtime 140
#define SYS_getpeername 141
#define SYS_gethostid 142
/* 143 is old: sethostid */
#define SYS_getrlimit 144
#define SYS_setrlimit 145
#define SYS_killpg 146
/* 147 is unused */
/* 148 is old: setquota */
/* 149 is old: quota */
#define SYS_getsockname 150
#define SYS_getmsg 151
#define SYS_putmsg 152
#define SYS_poll 153
/* 154 is old: nfs_mount */
#define SYS_nfssvc 155
#define SYS_getdirentries 156
#define SYS_statfs 157
#define SYS_fstatfs 158
#define SYS_unmount 159
#define SYS_async_daemon 160
#define SYS_getfh 161
#define SYS_getdomainname 162
#define SYS_setdomainname 163
/* 164 is old: pcfs_mount */
#define SYS_quotactl 165
#define SYS_exportfs 166
#define SYS_mount 167
#define SYS_ustat 168
#define SYS_semsys 169
#define SYS_msgsys 170
#define SYS_shmsys 171
#define SYS_auditsys 172
#define SYS_rfssys 173
#define SYS_getdents 174
#define SYS_setsid 175
#define SYS_fchdir 176
#define SYS_fchroot 177
#define SYS_vpixsys 178
 
#define SYS_aioread 179
#define SYS_aiowrite 180
#define SYS_aiowait 181
#define SYS_aiocancel 182
 
#define SYS_sigpending 183
/* 184 is available */
#define SYS_setpgid 185
#define SYS_pathconf 186
#define SYS_fpathconf 187
#define SYS_sysconf 188
 
#define SYS_uname 189
 
#endif /* ! __svr4__ */
 
#endif /* _SYSCALL_H_ */
 
 
 
syscall.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: stat.h =================================================================== --- stat.h (nonexistent) +++ stat.h (revision 520) @@ -0,0 +1,131 @@ +#ifndef _SYS_STAT_H +#define _SYS_STAT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <_ansi.h> +#include + +#ifdef __svr4__ + +#include + +#define _ST_FSTYPSZ 16 /* array size for file system type name */ + +struct stat +{ + dev_t st_dev; + long st_pad1[3]; /* reserved for network id */ + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + long st_pad2[2]; + off_t st_size; + long st_pad3; /* future off_t expansion */ + timestruc_t st_atim; + timestruc_t st_mtim; + timestruc_t st_ctim; + long st_blksize; + long st_blocks; + char st_fstype[_ST_FSTYPSZ]; + long st_pad4[8]; /* expansion area */ +}; + +#define st_atime st_atim.tv_sec +#define st_mtime st_mtim.tv_sec +#define st_ctime st_ctim.tv_sec + +#else + +#include + +struct stat +{ + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + short st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + int st_spare1; + time_t st_mtime; + int st_spare2; + time_t st_ctime; + int st_spare3; + long st_blksize; + long st_blocks; + long st_spare4[2]; +}; + +#endif + +#define _IFMT 0170000 /* type of file */ +#define _IFDIR 0040000 /* directory */ +#define _IFCHR 0020000 /* character special */ +#define _IFBLK 0060000 /* block special */ +#define _IFREG 0100000 /* regular */ +#define _IFLNK 0120000 /* symbolic link */ +#define _IFSOCK 0140000 /* socket */ +#define _IFIFO 0010000 /* fifo */ + +#define S_ISUID 0004000 /* set user id on execution */ +#define S_ISGID 0002000 /* set group id on execution */ +#ifndef _POSIX_SOURCE +#define S_ISVTX 0001000 /* save swapped text even after use */ +#define S_IREAD 0000400 /* read permission, owner */ +#define S_IWRITE 0000200 /* write permission, owner */ +#define S_IEXEC 0000100 /* execute/search permission, owner */ + +#define S_ENFMT 0002000 /* enforcement-mode locking */ + +#define S_IFMT _IFMT +#define S_IFDIR _IFDIR +#define S_IFCHR _IFCHR +#define S_IFBLK _IFBLK +#define S_IFREG _IFREG +#define S_IFLNK _IFLNK +#define S_IFSOCK _IFSOCK +#define S_IFIFO _IFIFO +#endif /* !_POSIX_SOURCE */ + + +#define S_IRWXU 0000700 /* rwx, owner */ +#define S_IRUSR 0000400 /* read permission, owner */ +#define S_IWUSR 0000200 /* write permission, owner */ +#define S_IXUSR 0000100 /* execute/search permission, owner */ +#define S_IRWXG 0000070 /* rwx, group */ +#define S_IRGRP 0000040 /* read permission, group */ +#define S_IWGRP 0000020 /* write permission, grougroup */ +#define S_IXGRP 0000010 /* execute/search permission, group */ +#define S_IRWXO 0000007 /* rwx, other */ +#define S_IROTH 0000004 /* read permission, other */ +#define S_IWOTH 0000002 /* write permission, other */ +#define S_IXOTH 0000001 /* execute/search permission, other */ + +#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK) +#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR) +#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR) +#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO) +#define S_ISREG(m) (((m)&_IFMT) == _IFREG) +#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK) +#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK) + +int _EXFUN(chmod,( const char *_path, mode_t _mode )); +int _EXFUN(fstat,( int _fd, struct stat *_sbuf )); +int _EXFUN(mkdir,( char *_path, mode_t _mode )); +int _EXFUN(mkfifo,( char *_path, mode_t _mode )); +int _EXFUN(stat,( const char *_path, struct stat *_sbuf )); +mode_t _EXFUN(umask,( mode_t _mask )); + +#ifdef __cplusplus +} +#endif +#endif /* _SYS_STAT_H */
stat.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: syscallasm.h =================================================================== --- syscallasm.h (nonexistent) +++ syscallasm.h (revision 520) @@ -0,0 +1,87 @@ +#ifndef _SYSCALLASM_H_ +#define _SYSCALLASM_H_ + +/* + * This file defines the system calls for SPARC for the assembler. + * Anything C-ish is not allowed in this file. + * C files should include syscall.h. + */ + +#include + +/* Some macros for writing assember syscall stubs. */ + +#ifdef __svr4__ +#define TEXT_SECTION .section ".text" +#define DATA_SECTION .section ".data" +#define ALIGN(x) .align x +#define GLOBAL(sym) .global sym +#define WORD(x) .long x +#define ASM_SYMBOL(name) name +#define ASM_PRIVATE_SYMBOL(name) _##name +#define SYSCALL_TRAP 8 +#else +#define TEXT_SECTION .text +#define DATA_SECTION .data +#define ALIGN(x) .align x +#define GLOBAL(sym) .global sym +#define WORD(x) .word x +#define ASM_SYMBOL(name) _##name +#define ASM_PRIVATE_SYMBOL(name) name +#define SYSCALL_TRAP 0 +#endif + +#define defsyscall(name, n) \ + TEXT_SECTION ; \ + ALIGN (4) ; \ + GLOBAL (ASM_SYMBOL (name)) ; \ +ASM_SYMBOL (name): \ + mov n,%g1 ; \ + ta %icc,SYSCALL_TRAP ; \ + bcc noerr ; \ + sethi %hi (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \ + or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \ + jmpl %g1+%g0,%g0 ; \ + nop ; \ +noerr: \ + jmpl %o7+8,%g0 ; \ + nop + +/* Support for reentrant syscalls. The "struct _reent *" arg is always the + the first one. After that we allow up to four additional args. We could + allow more, but that's all we need for now. + + It may seem inefficient to have the reent arg be the first one as it means + copying all the other args into place (as opposed to making the reent arg + the last one in which case there wouldn't be any copying). I chose a clean + design over an extra four instructions in a system call. All other + reentrant functions use the first arg this way. */ + +#define defsyscall_r(name, n) \ + TEXT_SECTION ; \ + ALIGN (4) ; \ + GLOBAL (ASM_SYMBOL (name)) ; \ +ASM_SYMBOL (name): \ + mov n,%g1 ; \ + mov %o0,%o5 ; \ + mov %o1,%o0 ; \ + mov %o2,%o1 ; \ + mov %o3,%o2 ; \ + mov %o4,%o3 ; \ + ta %icc,SYSCALL_TRAP ; \ + bcc noerr ; \ + sethi %hi (ASM_PRIVATE_SYMBOL (cerror_r)),%g1 ; \ + or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror_r)),%g1 ; \ + jmpl %g1+%g0,%g0 ; \ + mov %o5,%o1 ; \ +noerr: \ + jmpl %o7+8,%g0 ; \ + nop + +#define seterrno() \ + sethi %hi (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \ + or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \ + jmpl %g1+%g0,%g0 ; \ + nop + +#endif /* _SYSCALLASM_H_ */
syscallasm.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: time.h =================================================================== --- time.h (nonexistent) +++ time.h (revision 520) @@ -0,0 +1,22 @@ +#ifndef _SYS_TIME_H +#define _SYS_TIME_H + +#ifdef __cplusplus +extern "C" { +#endif + +struct timeval { + long tv_sec; + long tv_usec; +}; + +typedef struct timestruc { + time_t tv_sec; + long tv_nsec; +} timestruc_t; + +#ifdef __cplusplus +} +#endif + +#endif /* _SYS_TIME_H */
time.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: file.h =================================================================== --- file.h (nonexistent) +++ file.h (revision 520) @@ -0,0 +1,3 @@ +/* This is the same as sys/fcntl.h for now. */ + +#include
file.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: termios.h =================================================================== --- termios.h (nonexistent) +++ termios.h (revision 520) @@ -0,0 +1,122 @@ +/* FIXME: From sys/sysvi386/sys */ +#ifndef _SYS_TERMIOS_H +# define _SYS_TERMIOS_H + +# define _XCGETA (('x'<<8)|1) +# define _XCSETA (('x'<<8)|2) +# define _XCSETAW (('x'<<8)|3) +# define _XCSETAF (('x'<<8)|4) +# define _TCSBRK (('T'<<8)|5) +# define _TCFLSH (('T'<<8)|7) +# define _TCXONC (('T'<<8)|6) + +# define TCOOFF 0 +# define TCOON 1 +# define TCIOFF 2 +# define TCION 3 + +# define TCIFLUSH 0 +# define TCOFLUSH 1 +# define TCIOFLUSH 2 + +# define NCCS 13 + +# define TCSAFLUSH _XCSETAF +# define TCSANOW _XCSETA +# define TCSADRAIN _XCSETAW +# define TCSADFLUSH _XCSETAF + +# define IGNBRK 000001 +# define BRKINT 000002 +# define IGNPAR 000004 +# define INPCK 000020 +# define ISTRIP 000040 +# define INLCR 000100 +# define IGNCR 000200 +# define ICRNL 000400 +# define IXON 002000 +# define IXOFF 010000 + +# define OPOST 000001 +# define OCRNL 000004 +# define ONLCR 000010 +# define ONOCR 000020 +# define TAB3 014000 + +# define CLOCAL 004000 +# define CREAD 000200 +# define CSIZE 000060 +# define CS5 0 +# define CS6 020 +# define CS7 040 +# define CS8 060 +# define CSTOPB 000100 +# define HUPCL 002000 +# define PARENB 000400 +# define PAODD 001000 + +# define ECHO 0000010 +# define ECHOE 0000020 +# define ECHOK 0000040 +# define ECHONL 0000100 +# define ICANON 0000002 +# define IEXTEN 0000400 /* anybody know *what* this does?! */ +# define ISIG 0000001 +# define NOFLSH 0000200 +# define TOSTOP 0001000 + +# define VEOF 4 /* also VMIN -- thanks, AT&T */ +# define VEOL 5 /* also VTIME -- thanks again */ +# define VERASE 2 +# define VINTR 0 +# define VKILL 3 +# define VMIN 4 /* also VEOF */ +# define VQUIT 1 +# define VSUSP 10 +# define VTIME 5 /* also VEOL */ +# define VSTART 11 +# define VSTOP 12 + +# define B0 000000 +# define B50 000001 +# define B75 000002 +# define B110 000003 +# define B134 000004 +# define B150 000005 +# define B200 000006 +# define B300 000007 +# define B600 000010 +# define B1200 000011 +# define B1800 000012 +# define B2400 000013 +# define B4800 000014 +# define B9600 000015 +# define B19200 000016 +# define B38400 000017 + +typedef unsigned char cc_t; +typedef unsigned short tcflag_t; +typedef char speed_t; + +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + char c_line; + cc_t c_cc[NCCS]; + speed_t c_ispeed; + speed_t c_ospeed; +}; + +# ifndef _NO_MACROS + +# define cfgetospeed(tp) ((tp)->c_ospeed) +# define cfgetispeed(tp) ((tp)->c_ispeed) +# define cfsetospeed(tp,s) (((tp)->c_ospeed = (s)), 0) +# define cfsetispeed(tp,s) (((tp)->c_ispeed = (s)), 0) +# define tcdrain(fd) _ioctl (fd, _TCSBRK, 1) +# endif /* _NO_MACROS */ + +#endif /* _SYS_TERMIOS_H */ +
termios.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: utime.h =================================================================== --- utime.h (nonexistent) +++ utime.h (revision 520) @@ -0,0 +1,13 @@ +/* FIXME: From sys/sysvi386/sys */ +#ifndef _SYS_UTIME_H +# define _SYS_UTIME_H + +#include + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +#endif /* _SYS_UTIME_H */ +
utime.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: wait.h =================================================================== --- wait.h (nonexistent) +++ wait.h (revision 520) @@ -0,0 +1,43 @@ +/* FIXME: From sys/sysvi386/sys */ +#ifndef _WAIT_H +# define _WAIT_H + +# define WNOHANG 1 +# define WUNTRACED 2 + +/* + * Unlike the atrocity that BSD ended up using, we do not have a "union + * wait," although I could probably implement one. Given the code I + * sometimes end up porting, it might be a good thing. Anyway, the + * format of a stat thingy, filled in by the wait*() routines, is: + * struct { + * int filler:16; + * union { + * struct stopped { + * int signo:8; + * int o177:8; // will be 0177 + * }; + * struct exited { + * int retval:8; + * int zero:8; // 0, obviously 8-) + * }; + * struct termed { + * int zero:8; // zeroes + * int corep:1; // was there a core file? + * int signo:7; // what?! Only 127 signals?! + * }; + * int value:16; + * }; + * }; + * + * Braver souls than I can turn that into a union wait, if desired. Ick. + */ + +# define WIFEXITED(val) ((val)&0xff) +# define WEXITSTATUS(val) (((val)>>8)&0xff) +# define WIFSIGNALED(val) ((val) && !((val)&0xff)) +# define WTERMSIG(val) (((val)>>8)&0x7f) +# define WIFSTOPPED(val) (((val)&0xff)==0177) +# define WSTOPSIG(val) (((val)>>8)&0xff) +#endif /* _SYS_WAIT_H */ +
wait.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: dirent.h =================================================================== --- dirent.h (nonexistent) +++ dirent.h (revision 520) @@ -0,0 +1,48 @@ +/* FIXME: From sys/sysvi386/sys */ +#ifndef _SYS_DIRENT_H +# define _SYS_DIRENT_H + +/* + * This file was written to be compatible with the BSD directory + * routines, so it looks like it. But it was written from scratch. + * Sean Eric Fagan, sef@Kithrup.COM + */ + +typedef struct __dirdesc { + int dd_fd; + long dd_loc; + long dd_size; + char *dd_buf; + int dd_len; + long dd_seek; +} DIR; + +# define __dirfd(dp) ((dp)->dd_fd) + +DIR *opendir (const char *); +struct dirent *readdir (DIR *); +void rewinddir (DIR *); +int closedir (DIR *); + +#include + +#undef MAXNAMLEN /* from unistd.h */ +#ifdef __svr4__ +#define MAXNAMLEN 512 +#else +#define MAXNAMLEN 255 +#endif + +#define d_ino d_fileno /* compatibility */ + +struct dirent { + off_t d_off; + unsigned long d_fileno; + unsigned short d_reclen; + unsigned short d_namlen; + char d_name[MAXNAMLEN + 1]; +}; + +/* FIXME: include definition of DIRSIZ() ? */ + +#endif
dirent.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: utmp.h =================================================================== --- utmp.h (nonexistent) +++ utmp.h (revision 520) @@ -0,0 +1,43 @@ +#ifndef _UTMP_H +# define _UTMP_H + +#include + +# define UTMP_FILE "/etc/utmp" +# define WTMP_FILE "/etc/wtmp" + +struct utmp { + char ut_user[8]; /* how limited */ + char ut_id[4]; /* ditto */ + char ut_line[12]; /* I'm repeating myself */ + short ut_pid; + short ut_type; + struct exit_status { + short e_termination; + short e_exit; + } ut_exit; /* for DEAD_PROCESS processes */ + time_t ut_time; +}; + +/* Definitions for ut_type fields */ + +# define EMPTY 0 +# define RUN_LVL 1 +# define BOOT_TIME 2 +# define OLD_TIME 3 +# define NEW_TIME 4 +# define INIT_PROCESS 5 +# define LOGIN_PROCESS 6 +# define USER_PROCESS 7 +# define DEAD_PROCESS 8 +# define ACCOUNTING 9 +# define UTMAXTYPE ACCOUNTING + +# define RUNLVL_MSG "run-level %c" +# define BOOT_MSG "system boot" +# define OTIME_MSG "old time" +# define NTIME_MSG "new time" + +#endif /* _UTMP_H */ + +
utmp.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: fcntl.h =================================================================== --- fcntl.h (nonexistent) +++ fcntl.h (revision 520) @@ -0,0 +1,178 @@ +/* sys/fcntl.h for sparc64 */ + +/* This is basically the same as the default version, except that a few of + the values are different on Solaris (eg: FCREAT). + We support both SunOS4 and Solaris. */ + +#ifndef _SYS_FCNTL_H_ +#define _SYS_FCNTL_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <_ansi.h> + +#define _FOPEN (-1) /* from sys/file.h, kernel use only */ +#define _FREAD 0x0001 /* read enabled */ +#define _FWRITE 0x0002 /* write enabled */ +#define _FNDELAY 0x0004 /* non blocking I/O (4.2 style) */ +#define _FAPPEND 0x0008 /* append (writes guaranteed at the end) */ +#ifdef __svr4__ +#define _FNONBLOCK 0x0080 /* non blocking I/O (POSIX) */ +#define _FCREAT 0x0100 /* open with file create */ +#define _FTRUNC 0x0200 /* open with truncation */ +#define _FEXCL 0x0400 /* error on open if file exists */ +#define _FNOCTTY 0x0800 /* don't assign a ctty on this open */ +#else +#define _FMARK 0x0010 /* internal; mark during gc() */ +#define _FDEFER 0x0020 /* internal; defer for next gc pass */ +#define _FASYNC 0x0040 /* signal pgrp when data ready */ +#define _FSHLOCK 0x0080 /* BSD flock() shared lock present */ +#define _FEXLOCK 0x0100 /* BSD flock() exclusive lock present */ +#define _FCREAT 0x0200 /* open with file create */ +#define _FTRUNC 0x0400 /* open with truncation */ +#define _FEXCL 0x0800 /* error on open if file exists */ +#define _FNBIO 0x1000 /* non blocking I/O (sys5 style) */ +#define _FSYNC 0x2000 /* do all writes synchronously */ +#define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */ +#define _FNOCTTY 0x8000 /* don't assign a ctty on this open */ +#endif /* ! __svr4__ */ + +#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) + +/* + * Flag values for open(2) and fcntl(2) + * The kernel adds 1 to the open modes to turn it into some + * combination of FREAD and FWRITE. + */ +#define O_RDONLY 0 /* +1 == FREAD */ +#define O_WRONLY 1 /* +1 == FWRITE */ +#define O_RDWR 2 /* +1 == FREAD|FWRITE */ +#define O_APPEND _FAPPEND +#define O_CREAT _FCREAT +#define O_TRUNC _FTRUNC +#define O_EXCL _FEXCL +/* O_SYNC _FSYNC not posix, defined below */ +/* O_NDELAY _FNDELAY set in include/fcntl.h */ +/* O_NDELAY _FNBIO set in 5include/fcntl.h */ +#define O_NONBLOCK _FNONBLOCK +#define O_NOCTTY _FNOCTTY + +#ifndef _POSIX_SOURCE + +#define O_SYNC _FSYNC + +/* + * Flags that work for fcntl(fd, F_SETFL, FXXXX) + */ +#define FAPPEND _FAPPEND +#define FSYNC _FSYNC +#define FASYNC _FASYNC +#define FNBIO _FNBIO +#define FNONBIO _FNONBLOCK /* XXX fix to be NONBLOCK everywhere */ +#define FNDELAY _FNDELAY + +/* + * Flags that are disallowed for fcntl's (FCNTLCANT); + * used for opens, internal state, or locking. + */ +#define FREAD _FREAD +#define FWRITE _FWRITE +#define FMARK _FMARK +#define FDEFER _FDEFER +#define FSHLOCK _FSHLOCK +#define FEXLOCK _FEXLOCK + +/* + * The rest of the flags, used only for opens + */ +#define FOPEN _FOPEN +#define FCREAT _FCREAT +#define FTRUNC _FTRUNC +#define FEXCL _FEXCL +#define FNOCTTY _FNOCTTY + +#endif !_POSIX_SOURCE + +/* XXX close on exec request; must match UF_EXCLOSE in user.h */ +#define FD_CLOEXEC 1 /* posix */ + +/* fcntl(2) requests */ +#define F_DUPFD 0 /* Duplicate fildes */ +#define F_GETFD 1 /* Get fildes flags (close on exec) */ +#define F_SETFD 2 /* Set fildes flags (close on exec) */ +#define F_GETFL 3 /* Get file flags */ +#define F_SETFL 4 /* Set file flags */ +#ifndef _POSIX_SOURCE +#ifdef __svr4__ +#define F_GETOWN 23 /* Get owner - for ASYNC */ +#define F_SETOWN 24 /* Set owner - for ASYNC */ +#else +#define F_GETOWN 5 /* Get owner - for ASYNC */ +#define F_SETOWN 6 /* Set owner - for ASYNC */ +#endif +#endif /* !_POSIX_SOURCE */ +#ifdef __svr4__ +#define F_GETLK 14 /* Get record-locking information */ +#define F_SETLK 6 /* Set or Clear a record-lock (Non-Blocking) */ +#define F_SETLKW 7 /* Set or Clear a record-lock (Blocking) */ +#else +#define F_GETLK 7 /* Get record-locking information */ +#define F_SETLK 8 /* Set or Clear a record-lock (Non-Blocking) */ +#define F_SETLKW 9 /* Set or Clear a record-lock (Blocking) */ +#endif +#ifndef _POSIX_SOURCE +#define F_RGETLK 10 /* Test a remote lock to see if it is blocked */ +#define F_RSETLK 11 /* Set or unlock a remote lock */ +#define F_CNVT 12 /* Convert a fhandle to an open fd */ +#define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */ +#endif /* !_POSIX_SOURCE */ + +/* fcntl(2) flags (l_type field of flock structure) */ +#define F_RDLCK 1 /* read lock */ +#define F_WRLCK 2 /* write lock */ +#define F_UNLCK 3 /* remove lock(s) */ +#ifndef _POSIX_SOURCE +#define F_UNLKSYS 4 /* remove remote locks for a given system */ +#endif /* !_POSIX_SOURCE */ + +/*#include */ + +/* file segment locking set data type - information passed to system by user */ +struct flock { + short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */ + short l_whence; /* flag to choose starting offset */ + long l_start; /* relative offset, in bytes */ + long l_len; /* length, in bytes; 0 means lock to EOF */ + short l_pid; /* returned with F_GETLK */ + short l_xxx; /* reserved for future use */ +}; + +#ifndef _POSIX_SOURCE +/* extended file segment locking set data type */ +struct eflock { + short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */ + short l_whence; /* flag to choose starting offset */ + long l_start; /* relative offset, in bytes */ + long l_len; /* length, in bytes; 0 means lock to EOF */ + short l_pid; /* returned with F_GETLK */ + short l_xxx; /* reserved for future use */ + long l_rpid; /* Remote process id wanting this lock */ + long l_rsys; /* Remote system id wanting this lock */ +}; +#endif /* !_POSIX_SOURCE */ + + +#include +#include /* sigh. for the mode bits for open/creat */ + +extern int open _PARAMS ((const char *, int, ...)); +extern int creat _PARAMS ((const char *, mode_t)); +extern int fcntl _PARAMS ((int, int, ...)); + +#ifdef __cplusplus +} +#endif + +#endif /* !_SYS_FCNTL_H_ */
fcntl.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property

powered by: WebSVN 2.1.0

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