URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/newlib-1.10.0/newlib/libc/sys/rtems/sys
- from Rev 1010 to Rev 1765
- ↔ Reverse comparison
Rev 1010 → Rev 1765
/param.h
0,0 → 1,231
/*- |
* Copyright (c) 1982, 1986, 1989, 1993 |
* The Regents of the University of California. All rights reserved. |
* (c) UNIX System Laboratories, Inc. |
* All or some portions of this file are derived from material licensed |
* to the University of California by American Telephone and Telegraph |
* Co. or Unix System Laboratories, Inc. and are reproduced herein with |
* the permission of UNIX System Laboratories, Inc. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* |
* @(#)param.h 8.3 (Berkeley) 4/4/95 |
* $Id: param.h,v 1.1 2002-08-23 22:37:59 ivang Exp $ |
*/ |
|
#ifndef _SYS_PARAM_H_ |
#define _SYS_PARAM_H_ |
|
#include <unistd.h> |
|
#define BSD 199506 /* System version (year & month). */ |
#define BSD4_3 1 |
#define BSD4_4 1 |
|
#ifndef NULL |
#define NULL 0 |
#endif |
|
#ifndef LOCORE |
#include <sys/types.h> |
#endif |
|
/* |
* Machine-independent constants (some used in following include files). |
* Redefined constants are from POSIX 1003.1 limits file. |
* |
* MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>) |
* MAXLOGNAME should be >= UT_NAMESIZE (see <utmp.h>) |
*/ |
#include <sys/syslimits.h> |
|
#define MAXCOMLEN 16 /* max command name remembered */ |
#define MAXINTERP 32 /* max interpreter file name length */ |
#define MAXLOGNAME 12 /* max login name length */ |
#define MAXUPRC CHILD_MAX /* max simultaneous processes */ |
#define NCARGS ARG_MAX /* max bytes for an exec function */ |
#define NGROUPS NGROUPS_MAX /* max number groups */ |
#define NOFILE OPEN_MAX /* max open files per process */ |
#define NOGROUP 65535 /* marker for empty group set member */ |
#define MAXHOSTNAMELEN 256 /* max hostname size */ |
|
/* More types and definitions used throughout the kernel. */ |
#ifdef KERNEL |
#include <sys/cdefs.h> |
#include <sys/errno.h> |
#include <sys/time.h> |
#include <sys/resource.h> |
#include <sys/ucred.h> |
#include <sys/uio.h> |
#include <sys/rtprio.h> |
|
#ifndef FALSE |
#define FALSE 0 |
#endif |
#ifndef TRUE |
#define TRUE 1 |
#endif |
#endif |
|
/* Signals. */ |
#include <sys/signal.h> |
|
/* Machine type dependent parameters. */ |
#include <machine/param.h> |
#include <machine/limits.h> |
|
/* |
* Priorities. Note that with 32 run queues, differences less than 4 are |
* insignificant. |
*/ |
#define PSWP 0 |
#define PVM 4 |
#define PINOD 8 |
#define PRIBIO 16 |
#define PVFS 20 |
#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ |
#define PSOCK 24 |
#define PWAIT 32 |
#define PLOCK 36 |
#define PPAUSE 40 |
#define PUSER 50 |
#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ |
|
#define PRIMASK 0x0ff |
#define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ |
|
#define NZERO 0 /* default "nice" */ |
|
#define NBPW sizeof(int) /* number of bytes per word (integer) */ |
|
#define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ |
#define NODEV (dev_t)(-1) /* non-existent device */ |
|
/* |
* Clustering of hardware pages on machines with ridiculously small |
* page sizes is done here. The paging subsystem deals with units of |
* CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. |
*/ |
#if 0 |
#define CLBYTES (CLSIZE*PAGE_SIZE) |
#endif |
|
#define CBLOCK 128 /* Clist block size, must be a power of 2. */ |
#define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ |
/* Data chars/clist. */ |
#define CBSIZE (CBLOCK - sizeof(struct cblock *) - CBQSIZE) |
#define CROUND (CBLOCK - 1) /* Clist rounding. */ |
|
/* |
* File system parameters and macros. |
* |
* The file system is made out of blocks of at most MAXBSIZE units, with |
* smaller units (fragments) only in the last direct block. MAXBSIZE |
* primarily determines the size of buffers in the buffer pool. It may be |
* made larger without any effect on existing file systems; however making |
* it smaller make make some file systems unmountable. Also, MAXBSIZE |
* must be less than MAXPHYS!!! DFLTBSIZE is the average amount of |
* memory allocated by vfs_bio per nbuf. BKVASIZE is the average amount |
* of kernel virtual space allocated per nbuf. BKVASIZE should be >= |
* DFLTBSIZE. If it is significantly bigger than DFLTBSIZE, then |
* kva fragmentation causes fewer performance problems. |
*/ |
#define MAXBSIZE 65536 |
#define BKVASIZE 8192 |
#define DFLTBSIZE 4096 |
#define MAXFRAG 8 |
|
/* |
* MAXPATHLEN defines the longest permissible path length after expanding |
* symbolic links. It is used to allocate a temporary buffer from the buffer |
* pool in which to do the name expansion, hence should be a power of two, |
* and must be less than or equal to MAXBSIZE. MAXSYMLINKS defines the |
* maximum number of symbolic links that may be expanded in a path name. |
* It should be set high enough to allow all legitimate uses, but halt |
* infinite loops reasonably quickly. |
*/ |
#if !defined(__rtems__) |
#define MAXPATHLEN PATH_MAX |
#endif |
#define MAXSYMLINKS 32 |
|
/* Bit map related macros. */ |
#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) |
#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) |
#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY))) |
#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0) |
|
/* Macros for counting and rounding. */ |
#ifndef howmany |
#define howmany(x, y) (((x)+((y)-1))/(y)) |
#endif |
#define rounddown(x, y) (((x)/(y))*(y)) |
#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) /* to any y */ |
#define roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ |
#define powerof2(x) ((((x)-1)&(x))==0) |
|
/* Macros for min/max. */ |
#ifndef KERNEL |
#define MIN(a,b) (((a)<(b))?(a):(b)) |
#define MAX(a,b) (((a)>(b))?(a):(b)) |
#endif |
|
/* |
* Constants for setting the parameters of the kernel memory allocator. |
* |
* 2 ** MINBUCKET is the smallest unit of memory that will be |
* allocated. It must be at least large enough to hold a pointer. |
* |
* Units of memory less or equal to MAXALLOCSAVE will permanently |
* allocate physical memory; requests for these size pieces of |
* memory are quite fast. Allocations greater than MAXALLOCSAVE must |
* always allocate and free physical memory; requests for these |
* size allocations should be done infrequently as they will be slow. |
* |
* Constraints: PAGE_SIZE <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and |
* MAXALLOCSIZE must be a power of two. |
*/ |
#define MINBUCKET 4 /* 4 => min allocation of 16 bytes */ |
#define MAXALLOCSAVE (2 * PAGE_SIZE) |
|
/* |
* Scale factor for scaled integers used to count %cpu time and load avgs. |
* |
* The number of CPU `tick's that map to a unique `%age' can be expressed |
* by the formula (1 / (2 ^ (FSHIFT - 11))). The maximum load average that |
* can be calculated (assuming 32 bits) can be closely approximated using |
* the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15). |
* |
* For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age', |
* FSHIFT must be at least 11; this gives us a maximum load avg of ~1024. |
*/ |
#define FSHIFT 11 /* bits to right of fixed binary point */ |
#define FSCALE (1<<FSHIFT) |
|
#endif /* _SYS_PARAM_H_ */ |
/syslimits.h
0,0 → 1,85
/* |
* Copyright (c) 1988, 1993 |
* The Regents of the University of California. All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* |
* @(#)syslimits.h 8.1 (Berkeley) 6/2/93 |
* $Id: syslimits.h,v 1.1 2002-08-23 22:37:59 ivang Exp $ |
*/ |
|
#ifndef _SYS_SYSLIMITS_H_ |
#define _SYS_SYSLIMITS_H_ |
|
#if !defined(__rtems__) |
#define ARG_MAX 65536 /* max bytes for an exec function */ |
#endif |
|
#if !defined(__rtems__) |
#ifndef CHILD_MAX |
#define CHILD_MAX 40 /* max simultaneous processes */ |
#endif |
#endif |
|
#if !defined(__rtems__) |
#define LINK_MAX 32767 /* max file link count */ |
#endif |
|
#define MAX_CANON 255 /* max bytes in term canon input line */ |
|
#define MAX_INPUT 255 /* max bytes in terminal input */ |
|
#if !defined(__rtems__) |
#define NAME_MAX 255 /* max bytes in a file name */ |
#endif |
|
#define NGROUPS_MAX 16 /* max supplemental group id's */ |
|
#if !defined(__rtems__) |
#ifndef OPEN_MAX |
#define OPEN_MAX 64 /* max open files per process */ |
#endif |
#endif |
|
#if !defined(__rtems__) |
#define PATH_MAX 1024 /* max bytes in pathname */ |
#endif |
|
#define PIPE_BUF 512 /* max bytes for atomic pipe writes */ |
|
#define BC_BASE_MAX 99 /* max ibase/obase values in bc(1) */ |
#define BC_DIM_MAX 2048 /* max array elements in bc(1) */ |
#define BC_SCALE_MAX 99 /* max scale value in bc(1) */ |
#define BC_STRING_MAX 1000 /* max const string length in bc(1) */ |
#define COLL_WEIGHTS_MAX 0 /* max weights for order keyword */ |
#define EXPR_NEST_MAX 32 /* max expressions nested in expr(1) */ |
#define LINE_MAX 2048 /* max bytes in an input line */ |
#define RE_DUP_MAX 255 /* max RE's in interval notation */ |
|
#endif |
/utime.h
0,0 → 1,32
/* |
* $Id: utime.h,v 1.1 2002-08-23 22:37:59 ivang Exp $ |
*/ |
|
#ifndef __UTIME_h__ |
#define __UTIME_h__ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
/* |
* POSIX 1003.1b 5.6.6 Set File Access and Modification Times |
*/ |
|
struct utimbuf { |
time_t actime; /* Access time */ |
time_t modtime; /* Modification time */ |
}; |
|
/* Functions */ |
|
int utime( |
const char *path, |
const struct utimbuf *times |
); |
|
#ifdef __cplusplus |
}; |
#endif |
|
#endif /* _SYS_UTIME_H */ |
/dirent.h
0,0 → 1,52
#ifndef _SYS_DIRENT_H |
# define _SYS_DIRENT_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
/* |
* 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 |
* |
* Copied to RTEMS configuration without modification. |
*/ |
|
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 *); |
void seekdir(DIR *dir, long loc); |
long telldir(DIR *dir); |
|
#include <sys/types.h> |
|
#include <limits.h> |
|
struct dirent { |
long d_ino; |
off_t d_off; |
unsigned short d_reclen; |
/* we need better syntax for variable-sized arrays */ |
unsigned short d_namlen; |
char d_name[NAME_MAX + 1]; |
}; |
|
#ifdef __cplusplus |
} |
#endif |
|
|
#endif |