diff options
-rw-r--r-- | include/ar.h | 66 | ||||
-rw-r--r-- | include/math.h | 170 | ||||
-rw-r--r-- | include/tar.h | 108 |
3 files changed, 326 insertions, 18 deletions
diff --git a/include/ar.h b/include/ar.h index c6083717d..2b54ecb87 100644 --- a/include/ar.h +++ b/include/ar.h @@ -1,18 +1,48 @@ -#ifndef __AR_H -#define __AR_H - -#define ARMAG "!<arch>\n" -#define SARMAG 8 -#define ARFMAG "`\n" - -struct ar_hdr { - char ar_name[16], - ar_date[12], - ar_uid[6], - ar_gid[6], - ar_mode[8], - ar_size[10], - ar_fmag[2]; -}; - -#endif /* __AR_H */ +/* Header describing `ar' archive file format. + Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _AR_H +#define _AR_H 1 + +#include <sys/cdefs.h> + +/* Archive files start with the ARMAG identifying string. Then follows a + `struct ar_hdr', and as many bytes of member file data as its `ar_size' + member indicates, for each member file. */ + +#define ARMAG "!<arch>\n" /* String that begins an archive file. */ +#define SARMAG 8 /* Size of that string. */ + +#define ARFMAG "`\n" /* String in ar_fmag at end of each header. */ + +__BEGIN_DECLS + +struct ar_hdr + { + char ar_name[16]; /* Member file name, sometimes / terminated. */ + char ar_date[12]; /* File date, decimal seconds since Epoch. */ + char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */ + char ar_mode[8]; /* File mode, in ASCII octal. */ + char ar_size[10]; /* File size, in ASCII decimal. */ + char ar_fmag[2]; /* Always contains ARFMAG. */ + }; + +__END_DECLS + +#endif /* ar.h */ diff --git a/include/math.h b/include/math.h index e69de29bb..6fbb4c7f5 100644 --- a/include/math.h +++ b/include/math.h @@ -0,0 +1,170 @@ +/* + * This file was automatically generated by version 1.7 of cextract. + * Manual editing not recommended. + * + * Created: Fri Feb 23 20:31:13 1996 + * + * Modified (anyway) for PalmOS Feb 22, 1997, D.Jeff Dionne + */ + +typedef struct { + float r; + float i; +}cmplxf; + +/* Some useful constants. */ +#define M_E 2.7182818284590452354 /* e */ +#define M_LOG2E 1.4426950408889634074 /* log_2 e */ +#define M_LOG10E 0.43429448190325182765 /* log_10 e */ +#define M_LN2 0.69314718055994530942 /* log_e 2 */ +#define M_LN10 2.30258509299404568402 /* log_e 10 */ +#define M_PI 3.14159265358979323846 /* pi */ +#define M_PI_2 1.57079632679489661923 /* pi/2 */ +#define M_PI_4 0.78539816339744830962 /* pi/4 */ +#define M_1_PI 0.31830988618379067154 /* 1/pi */ +#define M_2_PI 0.63661977236758134308 /* 2/pi */ +#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ +#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ +#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ + + +extern float acos ( float x ); +extern float acosh ( float xx ); +extern int airy ( float xx, float *ai, float *aip, float *bi, float *bip ); +extern float asin ( float xx ); +extern float asinh ( float xx ); +extern float atan2 ( float y, float x ); +extern float atan ( float xx ); +extern float atanh ( float xx ); +extern float bdtrc ( int k, int n, float pp ); +extern float bdtr ( int k, int n, float pp ); +extern float bdtri ( int k, int n, float yy ); +extern float beta ( float aa, float bb ); +extern float cabs ( cmplxf *z ); +extern void cacos ( cmplxf *z, cmplxf *w ); +extern void cadd ( cmplxf *a, cmplxf *b, cmplxf *c ); +extern void casin ( cmplxf *z, cmplxf *w ); +extern void catan ( cmplxf *z, cmplxf *w ); +extern float cbrt ( float xx ); +extern void cchsh ( float xx, float *c, float *s ); +extern void ccos ( cmplxf *z, cmplxf *w ); +extern void ccot ( cmplxf *z, cmplxf *w ); +extern void cdiv ( cmplxf *a, cmplxf *b, cmplxf *c ); +extern float ceil ( float x ); +extern void cexp ( cmplxf *z, cmplxf *w ); +extern float chbevl ( float x, float *array, int n ); +extern float chdtrc ( float dff, float xx ); +extern float chdtr ( float dff, float xx ); +extern float chdtri ( float dff, float yy ); +extern void clog ( cmplxf *z, cmplxf *w ); +extern void cmov ( short *a, short *b ); +extern void cmul ( cmplxf *a, cmplxf *b, cmplxf *c ); +extern void cneg ( cmplxf *a ); +extern float cosdg ( float xx ); +extern float cos ( float xx ); +extern float cosh ( float xx ); +extern float cotdg ( float x ); +extern float cot ( float x ); +extern void csin ( cmplxf *z, cmplxf *w ); +extern void csqrt ( cmplxf *z, cmplxf *w ); +extern void csub ( cmplxf *a, cmplxf *b, cmplxf *c ); +extern void ctan ( cmplxf *z, cmplxf *w ); +extern float ctans ( cmplxf *z ); +extern float dawsn ( float xxx ); +extern int dprec ( void ); +extern float ellie ( float phia, float ma ); +extern float ellik ( float phia, float ma ); +extern float ellpe ( float xx ); +extern int ellpj ( float uu, float mm, float *sn, float *cn, float *dn, float *ph ); +extern float ellpk ( float xx ); +extern float erfc ( float aa ); +extern float erf ( float xx ); +extern float exp10 ( float xx ); +extern float exp2 ( float xx ); +extern float exp ( float xx ); +extern float expn ( int n, float xx ); +extern float fac ( int i ); +extern float fdtrc ( int ia, int ib, float xx ); +extern float fdtr ( int ia, int ib, int xx ); +extern float fdtri ( int ia, int ib, float yy ); +extern float floor ( float x ); +extern void fresnl ( float xxa, float *ssa, float *cca ); +extern float frexp ( float x, int *pw2 ); +extern float gamma ( float xx ); +extern float gdtrc ( float aa, float bb, float xx ); +extern float gdtr ( float aa, float bb, float xx ); +extern float hyp2f0 ( float aa, float bb, float xx, int type, float *err ); +extern float hyp2f1 ( float aa, float bb, float cc, float xx ); +extern float hyperg ( float aa, float bb, float xx ); +extern float i0e ( float x ); +extern float i0 ( float x ); +extern float i1e ( float xx ); +extern float i1 ( float xx ); +extern float igamc ( float aa, float xx ); +extern float igam ( float aa, float xx ); +extern float igami ( float aa, float yy0 ); +extern float incbet ( float aaa, float bbb, float xxx ); +extern float incbi ( float aaa, float bbb, float yyy0 ); +extern float incbps ( float aa, float bb, float xx ); +extern float iv ( float v, float x ); +extern float j0 ( float xx ); +extern float j1 ( float xx ); +extern float jn ( int n, float xx ); +extern float jv ( float nn, float xx ); +extern float k0e ( float xx ); +extern float k0 ( float xx ); +extern float k1e ( float xx ); +extern float k1 ( float xx ); +extern float kn ( int nnn, float xx ); +extern float ldexp ( float x, int pw2 ); +extern int ldprec ( void ); +extern float lgam ( float xx ); +extern float log10 ( float xx ); +extern float log2 ( float xx ); +extern float log ( float xx ); +/* extern int mtherr ( char *name, int code ); */ +extern float nbdtrc ( int k, int n, float pp ); +extern float nbdtr ( int k, int n, float pp ); +extern float ndtr ( float aa ); +extern float ndtri ( float yy0 ); +extern float onef2 ( float aa, float bb, float cc, float xx, float *err ); +extern float p1evl ( float xx, float *coef, int N ); +extern float pdtrc ( int k, float mm ); +extern float pdtr ( int k, float mm ); +extern float pdtri ( int k, float yy ); +extern void poladd ( float a[], int na, float b[], int nb, float c[] ); +extern void polclr ( float *a, int n ); +extern int poldiv ( float a[], int na, float b[], int nb, float c[] ); +extern float poleva ( float *a, int na, float xx ); +extern float polevl ( float xx, float *coef, int N ); +extern void polini ( int maxdeg ); +extern void polmov ( float *a, int na, float *b ); +extern void polmul ( float a[], int na, float b[], int nb, float c[] ); +extern void polprt ( float *a, int na, int d ); +extern void polsbt ( float a[], int na, float b[], int nb, float c[] ); +extern void polsub ( float a[], int na, float b[], int nb, float c[] ); +extern float pow ( float x, float y ); +extern float powi ( float x, int nn ); +extern float psi ( float xx ); +extern float redupi ( float xx ); +extern float rgamma ( float xx ); +extern int shichi ( float xx, float *si, float *ci ); +extern int sici ( float xx, float *si, float *ci ); +extern float sindg ( float xx ); +extern float sin ( float xx ); +extern float sinh ( float xx ); +extern float spence ( float xx ); +extern int sprec ( void ); +extern float sqrt ( float xx ); +extern float stdtr ( int k, float tt ); +extern float struve ( float vv, float xx ); +extern float tandg ( float x ); +extern float tan ( float x ); +extern float tanh ( float xx ); +extern float threef0 ( float aa, float bb, float cc, float xx, float *err ); +extern float y0 ( float xx ); +extern float y1 ( float xx ); +extern float yn ( int nn, float xx ); +extern float yv ( float vv, float xx ); +extern float zetac ( float xx ); +extern float zeta ( float xx, float qq ); diff --git a/include/tar.h b/include/tar.h new file mode 100644 index 000000000..f8264a0f7 --- /dev/null +++ b/include/tar.h @@ -0,0 +1,108 @@ +/* Extended tar format from POSIX.1. + Copyright (C) 1992, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by David J. MacKenzie. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _TAR_H +#define _TAR_H 1 + +/* A tar archive consists of 512-byte blocks. + Each file in the archive has a header block followed by 0+ data blocks. + Two blocks of NUL bytes indicate the end of the archive. */ + +/* The fields of header blocks: + All strings are stored as ISO 646 (approximately ASCII) strings. + + Fields are numeric unless otherwise noted below; numbers are ISO 646 + representations of octal numbers, with leading zeros as needed. + + linkname is only valid when typeflag==LNKTYPE. It doesn't use prefix; + files that are links to pathnames >100 chars long can not be stored + in a tar archive. + + If typeflag=={LNKTYPE,SYMTYPE,DIRTYPE} then size must be 0. + + devmajor and devminor are only valid for typeflag=={BLKTYPE,CHRTYPE}. + + chksum contains the sum of all 512 bytes in the header block, + treating each byte as an 8-bit unsigned value and treating the + 8 bytes of chksum as blank characters. + + uname and gname are used in preference to uid and gid, if those + names exist locally. + + Field Name Byte Offset Length in Bytes Field Type + name 0 100 NUL-terminated if NUL fits + mode 100 8 + uid 108 8 + gid 116 8 + size 124 12 + mtime 136 12 + chksum 148 8 + typeflag 156 1 see below + linkname 157 100 NUL-terminated if NUL fits + magic 257 6 must be TMAGIC (NUL term.) + version 263 2 must be TVERSION + uname 265 32 NUL-terminated + gname 297 32 NUL-terminated + devmajor 329 8 + devminor 337 8 + prefix 345 155 NUL-terminated if NUL fits + + If the first character of prefix is '\0', the file name is name; + otherwise, it is prefix/name. Files whose pathnames don't fit in that + length can not be stored in a tar archive. */ + +/* The bits in mode: */ +#define TSUID 04000 +#define TSGID 02000 +#define TSVTX 01000 +#define TUREAD 00400 +#define TUWRITE 00200 +#define TUEXEC 00100 +#define TGREAD 00040 +#define TGWRITE 00020 +#define TGEXEC 00010 +#define TOREAD 00004 +#define TOWRITE 00002 +#define TOEXEC 00001 + +/* The values for typeflag: + Values 'A'-'Z' are reserved for custom implementations. + All other values are reserved for future POSIX.1 revisions. */ + +#define REGTYPE '0' /* Regular file (preferred code). */ +#define AREGTYPE '\0' /* Regular file (alternate code). */ +#define LNKTYPE '1' /* Hard link. */ +#define SYMTYPE '2' /* Symbolic link (hard if not supported). */ +#define CHRTYPE '3' /* Character special. */ +#define BLKTYPE '4' /* Block special. */ +#define DIRTYPE '5' /* Directory. */ +#define FIFOTYPE '6' /* Named pipe. */ +#define CONTTYPE '7' /* Contiguous file */ + /* (regular file if not supported). */ + +/* Contents of magic field and its length. */ +#define TMAGIC "ustar" +#define TMAGLEN 6 + +/* Contents of the version field and its length. */ +#define TVERSION "00" +#define TVERSLEN 2 + +#endif /* tar.h */ |