[project @ 2002-02-12 11:44:54 by simonmar]
[ghc-hetmet.git] / ghc / lib / std / cbits / PrelIOUtils.h
1 /* 
2  * (c) The GRASP/AQUA Project, Glasgow University, 1994-
3  *
4  * IO / Handle support.
5  */
6 #ifndef __PRELIOUTILS_H__
7 #define __PRELIOUTILS_H__
8
9 /* PrelIOUtils.c */
10 extern HsBool prel_supportsTextMode();
11 extern HsInt  prel_bufsiz();
12 extern HsInt prel_seek_cur();
13 extern HsInt prel_seek_set();
14 extern HsInt prel_seek_end();
15
16 extern HsInt prel_sizeof_stat();
17 extern time_t prel_st_mtime(struct stat* st);
18 extern off_t  prel_st_size(struct stat* st);
19 extern mode_t prel_st_mode(struct stat* st);
20
21 extern HsInt prel_sizeof_termios();
22 extern HsInt prel_sizeof_sigset_t();
23
24 #if HAVE_TERMIOS_H
25 extern tcflag_t prel_lflag(struct termios* ts);
26 extern void     prel_poke_lflag(struct termios* ts, tcflag_t t);
27 extern unsigned char* prel_ptr_c_cc(struct termios* ts);
28 #endif
29
30 extern int prel_o_binary();
31 extern int prel_o_rdonly();
32 extern int prel_o_wronly();
33 extern int prel_o_rdwr();
34 extern int prel_o_append();
35 extern int prel_o_creat();
36 extern int prel_o_excl();
37 extern int prel_o_trunc();
38 extern int prel_o_noctty();
39 extern int prel_o_nonblock();
40
41 extern int prel_echo();
42 extern int prel_tcsanow();
43 extern int prel_icanon();
44 extern int prel_vmin();
45 extern int prel_vtime();
46 extern int prel_sigttou();
47 extern int prel_sig_block();
48 extern int prel_sig_setmask();
49 extern int prel_f_getfl();
50 extern int prel_f_setfl();
51
52 extern HsInt prel_setmode(HsInt fd, HsBool isBin);
53
54 extern HsInt prel_PrelHandle_write(HsInt fd, HsBool isSock, HsAddr ptr, HsInt off, int sz);
55 extern HsInt prel_PrelHandle_read(HsInt fd, HsBool isSock, HsAddr ptr, HsInt off, int sz);
56
57 extern void* prel_PrelIO_memcpy(char *dst, HsInt dst_off, const char *src, HsInt src_off, size_t sz);
58
59 /* writeError.c */
60 extern void writeErrString__(HsAddr msg_hdr, HsAddr msg, HsInt len);
61
62 extern int s_isreg_PrelPosix_wrap(int);
63 extern int s_isdir_PrelPosix_wrap(int);
64 extern int s_isfifo_PrelPosix_wrap(int);
65 extern int s_isblk_PrelPosix_wrap(int);
66 extern int s_ischr_PrelPosix_wrap(int);
67 #ifndef mingw32_TARGET_OS
68 extern int s_issock_PrelPosix_wrap(int);
69 extern void sigemptyset_PrelPosix_wrap(sigset_t *set);
70 #endif
71
72
73 #endif /* __PRELIOUTILS_H__ */
74