libcute 0.1
Loading...
Searching...
No Matches
error.h
1#pragma once
2#include "object/optional.h"
3#include "object/result.h"
4#include <stddef.h>
5
6typedef enum {
7 CU_IO_ERROR_KIND_NOT_FOUND,
8 CU_IO_ERROR_KIND_PERMISSION_DENIED,
9 CU_IO_ERROR_KIND_CONNECTION_REFUSED,
10 CU_IO_ERROR_KIND_CONNECTION_RESET,
11 CU_IO_ERROR_KIND_CONNECTION_ABORTED,
12 CU_IO_ERROR_KIND_NOT_CONNECTED,
13 CU_IO_ERROR_KIND_ADDR_IN_USE,
14 CU_IO_ERROR_KIND_ADDR_NOT_AVAILABLE,
15 CU_IO_ERROR_KIND_BROKEN_PIPE,
16 CU_IO_ERROR_KIND_WOULD_BLOCK,
17 CU_IO_ERROR_KIND_INVALID_INPUT,
18 CU_IO_ERROR_KIND_INVALID_DATA,
19 CU_IO_ERROR_KIND_TIMED_OUT,
20 CU_IO_ERROR_KIND_INTERRUPTED,
21 CU_IO_ERROR_KIND_UNEXPECTED_EOF,
22 CU_IO_ERROR_KIND_UNSUPPORTED,
23 CU_IO_ERROR_KIND_OUT_OF_MEMORY,
24 CU_IO_ERROR_KIND_OTHER
25} cu_Io_ErrorKind;
26
27typedef struct {
28 cu_Io_ErrorKind kind;
29 Size_Optional errnum;
31
34CU_RESULT_DECL(cu_IoSize, size_t, cu_Io_Error)
35
36#ifndef CU_FREESTANDING
37cu_Io_Error cu_Io_Error_from_errno(int error_code);
38
39#if CU_PLAT_WINDOWS
40cu_Io_Error cu_Io_Error_from_win32(unsigned long error_code);
41#endif
42#endif
#define CU_OPTIONAL_DECL(NAME, T)
Definition optional.h:25
#define CU_RESULT_DECL(NAME, T, E)
Definition result.h:23
Definition error.h:27
Definition nostd.h:27