libcute 0.1
Loading...
Searching...
No Matches
fdfile.h
Go to the documentation of this file.
1#pragma once
2#include "io/error.h"
3#include "io/fd.h"
4#include "io/stream.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
12typedef struct {
13 cu_Handle handle;
14 bool owned;
15} cu_FdFile;
16
18static inline cu_FdFile cu_FdFile_from_handle(cu_Handle h, bool owned) {
19 cu_FdFile f;
20 f.handle = h;
21 f.owned = owned;
22 return f;
23}
24
25void cu_FdFile_close(cu_FdFile *f);
26cu_Io_Error_Optional cu_FdFile_read(cu_FdFile *f, cu_Slice buf);
27cu_Io_Error_Optional cu_FdFile_write(cu_FdFile *f, cu_Slice data);
28cu_Io_Error_Optional cu_FdFile_seek(cu_FdFile *f, cu_File_SeekTo to);
29cu_IoSize_Result cu_FdFile_tell(cu_FdFile *f);
30cu_Stream cu_FdFile_stream(cu_FdFile *f);
31
32cu_FdFile cu_FdFile_stdin(void);
33cu_FdFile cu_FdFile_stdout(void);
34cu_FdFile cu_FdFile_stderr(void);
35
36#ifdef __cplusplus
37}
38#endif
Definition fdfile.h:12
cu_Handle handle
Definition fdfile.h:13
bool owned
Definition fdfile.h:14
Definition file.h:36
Definition nostd.h:27
Definition stream.h:19