diff options
Diffstat (limited to 'unix/hlib/libc/libc.h')
-rw-r--r-- | unix/hlib/libc/libc.h | 330 |
1 files changed, 330 insertions, 0 deletions
diff --git a/unix/hlib/libc/libc.h b/unix/hlib/libc/libc.h new file mode 100644 index 00000000..83c2f136 --- /dev/null +++ b/unix/hlib/libc/libc.h @@ -0,0 +1,330 @@ +/* + * LIBC.H -- Definitions which should be included by all C source files which + * use the IRAF runtime C library. + */ + +#ifndef D_libc +#ifndef D_spp +#ifndef import_spp +#include "spp.h" +#endif +#endif + +#define XCHAR short +#ifdef MACH64 +#define XINT long +#define XLONG long +#else +#define XINT int +#define XLONG int +#endif +#define SZ_DEFIOBUF 1024 +#define FIO_MAXFD 4096 + +#define FIOCOM fiocom_ /* [MACHDEP] */ +#define MEMCOM mem_ +#define XERPSH xerpsh_ +#define XERPOP xerpop_ +#define XERPOPI xerpoi_ +#define c_main cmain_ + +/* Error handling. + */ +#define iferr(stmt) {XERPSH();stmt;}if(XERPOPI()) + +/* SPP/C pointer conversions. + */ +extern char MEMCOM[]; +#define Memc (((XCHAR *)MEMCOM)-1) +#define Memi (((XINT *)MEMCOM)-1) +#define Memcptr(addr) ((XCHAR *)(addr) - Memc) +#define Memiptr(addr) ((XINT *)(addr) - Memi) + +/* External names. + */ +#ifndef NOLIBCNAMES + +#define getenv envget +#define sys_nerr u_sysnerr +#define sys_errlist u_syserrlist + +#define atof u_atof +#define atoi u_atoi +#define atol u_atol +#define calloc u_calloc +#define envget u_envget +#define eprintf u_eprintf +#define fclose u_fclose +#define fdopen u_fdopen +#define fflush u_fflush +#define fgetc u_fgetc +#define fgets u_fgets +#define fopen u_fopen +#define fprintf u_fprintf +#define fputc u_fputc +#define fputs u_fputs +#define fread u_fread +#define freadline u_readline +#define free u_free +#define freopen u_freopen +#define fscanf u_fscanf +#define fseek u_fseek +#define ftell u_ftell +#define fwrite u_fwrite +#define gets u_gets +#define getw u_getw +#define index u_index +#define isatty u_isatty +#define malloc u_malloc +#define mktemp u_mktemp +#define perror u_perror +#define printf u_printf +#define puts u_puts +#define putw u_putw +#define qsort u_qsort +#define realloc u_realloc +#define rewind u_rewind +#define rindex u_rindex +#define scanf u_scanf +#define setbuf u_setbuf +#define setbuffer u_setfbf /* collision */ +#define setlinebuf u_setlinebuf +#define sprintf u_sprintf +#define sscanf u_sscanf +#define strcat u_strcat +#define strchr u_index +#define strcmp u_strcmp +#define strdup u_strdup +#define strcpy u_strcpy +#define strlen u_strlen +#define strncat u_strnt /* collision */ +#define strncmp u_strnp /* collision */ +#define strncpy u_strny /* collision */ +#define strrchr u_rindex +#define system u_system +#define ungetc u_ungetc + +/* C_SPP names not unique in the first seven characters. + */ +#define c_envgetb c_envgb +#define c_envgeti c_envgi +#define c_envgets c_envgs +#define c_ttyclear c_ttycr +#define c_ttyclearln c_ttycn +#define c_ttygetb c_ttygb +#define c_ttygeti c_ttygi +#define c_ttygetr c_ttygr +#define c_ttygets c_ttygs +#define c_ttyputline c_ttype +#define c_ttyputs c_ttyps +#define c_ungetc c_ungec +#define c_ungetstr c_unges + + +/* + * Prototype definitions for the IRAF runtime C library. + */ + +/*extern long XERPSH(), XERPOPI();*/ /* standard for iferr use */ + +extern struct _iobuf *fdopen (XINT fd, char *mode); +extern struct _iobuf *fopen (char *fname, char *modestr); +extern struct _iobuf *freopen (char *fname, char *modestr, struct _iobuf *fp); +extern char *c_cnvdate (long clktime, char *outstr, int maxch); +extern char *c_cnvtime (long clktime, char *outstr, int maxch); +extern char *c_getuid (char *outstr, int maxch); +extern char *c_salloc (unsigned nbytes); +extern char *c_strpak (short *sppstr, char *cstr, int maxch); +extern char *calloc (unsigned int nelems, unsigned int elsize); +extern char *envget (char *var); +extern char *fgets (char *buf, int maxch, struct _iobuf *fp); +extern char *gets (char *buf); +extern char *index (char *str, int ch); +extern char *malloc (unsigned nbytes); +extern char *mktemp (char *template); +extern char *freadline (char *prompt); +extern char *realloc (char *buf, unsigned newsize); +extern char *rindex (char *str, int ch); +extern char *sprintf (char *str, char *format, ...); +extern char *strcat (char *s1, char *s2); +extern char *strdup (char *str); +extern char *strcpy (char *s1, char *s2); +extern char *strncat (char *s1, char *s2, int n); +extern char *strncpy (char *s1, char *s2, int n); +extern int strncmp (char *s1, char *s2, int n); + +extern double atof (char *str); +extern float c_ttygr (XINT tty, char *cap); +extern int atoi (char *str); +extern int c_access (char *fname, int mode, int type); +extern int c_allocate (char *device); +extern int c_close (XINT fd); +extern int c_deallocate (char *device, int rewind); +extern int c_delete (char *fname); +extern int c_devowner (char *device, char *owner, int maxch); +extern int c_envfind (char *var, char *outstr, int maxch); +extern int c_envfree (int envp, int userfcn); +extern int c_envgb (char *var); +extern int c_envgi (char *var); +extern int c_envgs (char *var, char *outstr, int maxch); +extern int c_envscan (char *input_source); +extern int c_errcode (void); +extern int c_errget (char *outstr, int maxch); +extern int c_fchdir (char *newdir); +extern int c_filbuf (struct _iobuf *fp); +extern int c_flsbuf (unsigned int ch, struct _iobuf *fp); +extern int c_fmapfn (char *vfn, char *osfn, int maxch); +extern int c_fmkdir (char *newdir); +extern int c_fnextn (char *vfn, char *extn, int maxch); +extern int c_fnldir (char *vfn, char *ldir, int maxch); +extern int c_fnroot (char *vfn, char *root, int maxch); +extern int c_fpathname (char *vfn, char *osfn, int maxch); +extern int c_fprintf (XINT fd, char *format); +extern int c_fredir (XINT fd, char *fname, int mode, int type); +extern int c_frediro (XINT fd, XINT newfd); +extern int c_fstati (XINT fd, int param); +extern int c_getpid (void); +extern int c_imaccess (char *imname, int mode); +extern int c_imdrcur (char *device, float *x, float *y, int *wcs, + int *key, char *strval, int maxch, int d_wcs, int pause); +extern int c_kimapchan (int chan, char *nodename, int maxch); +extern int c_lexnum (char *str, int *toklen); +extern int c_mktemp (char *root, char *temp_filename, int maxch); +extern int c_ndopen (char *fname, int mode); +extern int c_open (char *fname, int mode, int type); +extern int c_oscmd (char *cmd, char *infile, char *outfile, char *errfile); +extern int c_poll (XINT fds, int nfds, int timeout); +extern int c_poll_get_nfds (XINT fds); +extern XINT c_poll_open (void); +extern int c_poll_test (XINT fds, XINT fd, int type); +extern int c_prchdir (int pid, char *newdir); +extern int c_prcldpr (unsigned job); +extern int c_prclose (unsigned int pid); +extern int c_prdone (unsigned job); +extern int c_prenvfree (int pid, int envp); +extern int c_prenvset (int pid, char *envvar, char *value); +extern int c_printf (char *format); +extern int c_prkill (unsigned job); +extern int c_prredir (unsigned pid, int stream, int new_fd); +extern int c_prsignal (unsigned pid, int signal); +extern int c_prstati (int pid, int param); +extern int c_rcursor (int fd, char *outstr, int maxch); +extern int c_rdukey (char *obuf, int maxch); +extern int c_read (XINT fd, char *buf, int maxbytes); +extern int c_rename (char *old_fname, char *new_fname); +extern int c_reopen (XINT fd, int mode); +extern int c_seek (XINT fd, long offset); +extern int c_stggetline (XINT fd, char *buf, int maxch); +extern int c_stgputline (XINT fd, char *buf); +extern int c_stropen (short *obuf, int maxch, int mode); +extern int c_ttstati (XINT fd, int param); +extern int c_ttstats (XINT fd, int param, char *outstr, int maxch); +extern int c_ttyctrl (XINT fd, XINT tty, char *cap, int afflncnt); +extern int c_ttygb (XINT tty, char *cap); +extern XINT c_ttygi (XINT tty, char *cap); +extern int c_ttygs (XINT tty, char *cap, char *outstr, int maxch); +extern XINT c_ttyodes (char *ttyname); +extern int c_ttyps (XINT fd, XINT tty, char *cap, int afflncnt); +extern XINT c_ttystati (XINT tty, int param); +extern int c_ungec (XINT fd, int ch); +extern int c_ungetline (XINT fd, char *str); +extern int c_write (XINT fd, char *buf, int nbytes); +extern int fclose (struct _iobuf *fp); +extern int fflush (struct _iobuf *fp); +extern int fgetc (struct _iobuf *fp); +extern int fputc (char ch, struct _iobuf *fp); +extern int fread (char *bp, int szelem, int nelem, struct _iobuf *fp); +extern int fscanf (struct _iobuf *fp, char *format, ...); +extern int fseek (struct _iobuf *fp, long offset, int mode); +extern int fwrite (char *bp, int szelem, int nelem, struct _iobuf *fp); +extern int getw (struct _iobuf *fp); +extern int isatty (XINT fd); +extern int puts (char *str); +extern int putw (int word, struct _iobuf *fp); +extern int scanf (char *format, ...); +extern int spf_open (char *buf, int maxch); +extern int sscanf (char *str, char *format, ...); +extern int strcmp (char *s1, char *s2); +extern int strlen (char *s); +extern int system (char *cmd); +extern int ungetc (int ch, struct _iobuf *fp); +extern long atol (char *str); +extern long c_clktime (long reftime); +extern long c_cputime (long reftime); +extern long c_note (XINT fd); +extern long ftell (struct _iobuf *fp); +extern long rewind (struct _iobuf *fp); +extern short *c_sppstr (char *str); +extern short *c_strupk (char *str, short *outstr, int maxch); +extern unsigned int c_propdpr (char *process, char *bkgfile, char *bkgmsg); +extern unsigned int c_propen (char *process, int *in, int *out); +extern void c_devstatus (char *device, int out); +extern void c_envlist (XINT fd, char *prefix, int show_redefs); +extern void c_envmark (XINT *envp); +extern void c_envputs (char *var, char *value); +extern void c_envreset (char *var, char *value); +extern void c_erract (int action); +extern void c_error (int errcode, char *errmsg); +extern void c_flush (XINT fd); +extern void c_fseti (XINT fd, int param, int value); +extern void c_gflush (int stream); +extern void c_pargb (int ival); +extern void c_pargc (int ival); +extern void c_pargd (double dval); +extern void c_pargi (int ival); +extern void c_pargl (long lval); +extern void c_pargr (float rval); +extern void c_pargs (short sval); +extern void c_pargstr (char *strval); +extern void c_poll_clear (XINT fds, XINT fd, int type); +extern void c_poll_close (XINT fds); +extern void c_poll_print (XINT fds); +extern void c_poll_set (XINT fds, XINT fd, int type); +extern void c_poll_zero (XINT fds); +extern void c_sfree (int sp); +extern void c_smark (int *sp); +extern void c_sttyco (char *args, XINT ttin, XINT ttout, XINT outfd); +extern void c_tsleep (int nseconds); +extern void c_ttseti (XINT fd, int param, int value); +extern void c_ttsets (XINT fd, int param, char *value); +extern void c_ttycdes (XINT tty); +extern void c_ttycn (XINT fd, XINT tty); +extern void c_ttycr (XINT fd, XINT tty); +extern void c_ttygoto (XINT fd, XINT tty, int col, int line); +extern void c_ttyinit (XINT fd, XINT tty); +extern void c_ttype (XINT fd, XINT tty, char *line, int map_cc); +extern void c_ttyseti (XINT tty, int param, int value); +extern void c_ttyso (XINT fd, XINT tty, int onoff); +extern void c_vfnbrk (char *vfn, int *root, int *extn); +extern void c_wmsec (int msec); +extern void c_xgmes (int *oscode, char *oserrmsg, int maxch); +extern void c_xonerr (int errcode); +extern void c_xttysize (int *ncols, int *nlines); +extern void eprintf (char *format, ...); +extern void fprintf (struct _iobuf *fp, char *format, ...); +extern void fputs (char *str, struct _iobuf *fp); +extern void free (char *buf); +extern void perror (char *prefix); +extern void printf (char *format, ...); +extern void qsort (char *base, int n, int size, int (*compar) (void)); +extern void setbuf (struct _iobuf *fp, char *buf); +extern void setfbf (struct _iobuf *fp, char *buf, int size); +extern void setlinebuf (struct _iobuf *fp); +extern void spf_close (XINT fd); + +/* The following have conflicts because of the order in which the +** include files are done in iraf.h. Commented out for now. +extern int c_finfo (char *fname, struct _finfo *fi); +extern void c_xwhen (int exception, PFI new_handler, PFI *old_handler); +*/ + +#endif + +/* +*/ +#include "/iraf/iraf/unix/bin/f2c.h" +#include "/iraf/iraf/unix/hlib/libc/vosproto.h" + +#define D_libc +#define D_libc_proto +#endif |