4 /* Decls for routines in ghc/lib/cbits/ only used there.
5 * This file is used when compiling the Haskell library
6 * that _ccalls_ those routines; and when compiling those
7 * routines (to check consistency).
11 StgInt closeFile PROTO((StgForeignObj));
13 /* createDirectory.lc */
14 StgInt createDirectory PROTO((StgByteArray));
17 char * strDup PROTO((const char *));
18 int setenviron PROTO((char **));
19 int copyenv (STG_NO_ARGS);
20 int _setenv PROTO((char *));
21 int delenv PROTO((char *));
25 extern int ghc_errtype;
26 void cvtErrno(STG_NO_ARGS);
27 void stdErrno(STG_NO_ARGS);
30 int execvpe PROTO((char *, char **, char **));
33 StgInt fileEOF PROTO((StgForeignObj));
35 StgInt fileGetc PROTO((StgForeignObj));
37 /* fileLookAhead.lc */
38 StgInt fileLookAhead PROTO((StgForeignObj));
41 StgInt getFilePosn PROTO((StgForeignObj));
42 StgInt setFilePosn PROTO((StgForeignObj, StgInt));
45 StgInt filePutc PROTO((StgForeignObj, StgInt));
48 StgInt fileSize PROTO((StgForeignObj, StgByteArray));
51 StgInt flushFile PROTO((StgForeignObj));
54 void freeStdChannel PROTO((StgForeignObj));
55 void freeFile PROTO((StgForeignObj));
57 /* getBufferMode.lc */
58 StgInt getBufferMode PROTO((StgForeignObj));
61 StgInt getClockTime PROTO((StgByteArray, StgByteArray));
62 StgAddr showTime PROTO((I_, StgByteArray, StgByteArray));
63 StgAddr toClockSec PROTO((I_, I_, I_, I_, I_, I_, I_, StgByteArray));
64 StgAddr toLocalTime PROTO((I_, StgByteArray, StgByteArray));
65 StgAddr toUTCTime PROTO((I_, StgByteArray, StgByteArray));
68 StgByteArray getCPUTime PROTO((StgByteArray));
71 /* getCurrentDirectory.lc */
72 StgAddr getCurrentDirectory(STG_NO_ARGS);
74 /* getDirectoryContents.lc */
75 StgAddr getDirectoryContents PROTO((StgByteArray));
78 int lockFile PROTO((int, int));
79 int unlockFile PROTO((int));
80 StgInt getLock PROTO((StgForeignObj, StgInt));
83 StgInt inputReady PROTO((StgForeignObj,StgInt));
86 StgAddr openFile PROTO((StgByteArray, StgByteArray));
89 StgInt readBlock PROTO((StgAddr, StgForeignObj, StgInt));
90 StgInt readLine PROTO((StgAddr, StgForeignObj, StgInt));
91 StgInt readChar PROTO((StgForeignObj));
93 /* removeDirectory.lc */
94 StgInt removeDirectory PROTO((StgByteArray));
97 StgInt removeFile PROTO((StgByteArray));
99 /* renameDirectory.lc */
100 StgInt renameDirectory PROTO((StgByteArray, StgByteArray));
103 StgInt renameFile PROTO((StgByteArray, StgByteArray));
106 StgInt seekFile PROTO((StgForeignObj, StgInt, StgInt, StgByteArray));
107 StgInt seekFileP PROTO((StgForeignObj));
109 /* setBuffering.lc */
110 StgInt setBuffering PROTO((StgForeignObj, StgInt));
112 /* setCurrentDirectory.lc */
113 StgInt setCurrentDirectory PROTO((StgByteArray));
116 StgAddr showTime PROTO((StgInt, StgByteArray, StgByteArray));
119 StgInt systemCmd PROTO((StgByteArray));
122 StgAddr toLocalTime PROTO((StgInt, StgByteArray, StgByteArray));
125 StgAddr toUTCTime PROTO((StgInt, StgByteArray, StgByteArray));
128 StgAddr toClockSec PROTO((StgInt, StgInt, StgInt, StgInt, StgInt, StgInt, StgInt, StgByteArray));
131 StgInt writeFile PROTO((StgAddr, StgForeignObj, StgInt));
133 #endif /* ! STGIO_H */