ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/rtio.h
Revision: 3.11
Committed: Thu Mar 3 22:09:59 2016 UTC (8 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 3.10: +8 -1 lines
Log Message:
Moved putc and getc overrides to rtio.h

File Contents

# User Rev Content
1 greg 3.11 /* RCSid $Id: rtio.h,v 3.10 2016/03/03 22:06:18 greg Exp $ */
2 greg 3.1 /*
3     * Radiance i/o and string routines
4     */
5    
6     #ifndef _RAD_RTIO_H_
7     #define _RAD_RTIO_H_
8    
9     #include <stdio.h>
10     #include <sys/types.h>
11     #include <fcntl.h>
12     #include <string.h>
13 schorsch 3.3
14 greg 3.11 #ifdef getc_unlocked /* avoid horrendous overhead of flockfile */
15     #undef getc
16     #undef putc
17     #define getc getc_unlocked
18     #define putc putc_unlocked
19     #endif
20    
21 schorsch 3.3 #ifdef __cplusplus
22     extern "C" {
23     #endif
24 greg 3.1 /* defined in badarg.c */
25     extern int badarg(int ac, char **av, char *fl);
26     /* defined in expandarg.c */
27     extern int expandarg(int *acp, char ***avp, int n);
28     /* defined in fdate.c */
29     extern time_t fdate(char *fname);
30     extern int setfdate(char *fname, long ftim);
31     /* defined in fgetline.c */
32     extern char *fgetline(char *s, int n, FILE *fp);
33     /* defined in fgetval.c */
34 schorsch 3.8 extern int fgetval(FILE *fp, int ty, void *vp);
35 greg 3.1 /* defined in fgetword.c */
36     extern char *fgetword(char *s, int n, FILE *fp);
37     /* defined in fputword.c */
38     extern void fputword(char *s, FILE *fp);
39     /* defined in fropen.c */
40     extern FILE *frlibopen(char *fname);
41     /* defined in getlibpath.c */
42     extern char *getrlibpath(void);
43 schorsch 3.5 /* defined in gethomedir.c */
44 greg 3.10 extern char *gethomedir(char *uname, char *path, int plen);
45 greg 3.1 /* defined in getpath.c */
46     extern char *getpath(char *fname, char *searchpath, int mode);
47 greg 3.9 /* defined in byteswap.c */
48     extern void swap16(char *wp, int n);
49     extern void swap32(char *wp, int n);
50     extern void swap64(char *wp, int n);
51 greg 3.1 /* defined in portio.c */
52     extern void putstr(char *s, FILE *fp);
53     extern void putint(long i, int siz, FILE *fp);
54     extern void putflt(double f, FILE *fp);
55 greg 3.10 extern int putbinary(char *s, int elsiz, int nel, FILE *fp);
56 greg 3.1 extern char *getstr(char *s, FILE *fp);
57     extern long getint(int siz, FILE *fp);
58     extern double getflt(FILE *fp);
59 greg 3.10 extern int getbinary(char *s, int elsiz, int nel, FILE *fp);
60 greg 3.1 /* defined in rexpr.c */
61     extern int ecompile(char *sp, int iflg, int wflag);
62     extern char *expsave(void);
63     extern void expset(char *ep);
64     extern char *eindex(char *sp);
65     /* defined in savestr.c */
66     extern char *savestr(char *str);
67     extern void freestr(char *s);
68     extern int shash(char *s);
69     /* defined in savqstr.c */
70     extern char *savqstr(char *s);
71     extern void freeqstr(char *s);
72     /* defined in wordfile.c */
73     extern int wordfile(char **words, char *fname);
74     extern int wordstring(char **avl, char *str);
75     /* defined in words.c */
76     extern char *atos(char *rs, int nb, char *s);
77     extern char *nextword(char *cp, int nb, char *s);
78     extern char *sskip(char *s);
79     extern char *sskip2(char *s, int n);
80     extern char *iskip(char *s);
81     extern char *fskip(char *s);
82     extern int isint(char *s);
83     extern int isintd(char *s, char *ds);
84     extern int isflt(char *s);
85     extern int isfltd(char *s, char *ds);
86     /* defined in lamp.c */
87     extern float * matchlamp(char *s);
88     extern int loadlamps(char *file);
89     extern void freelamps(void);
90    
91     #ifdef __cplusplus
92     }
93     #endif
94     #endif /* _RAD_RTIO_H_ */
95