fileio.h (2003B)
1 #pragma once 2 3 #include <stdint.h> // IWYU pragma: keep 4 #include <stdio.h> // IWYU pragma: keep 5 #include <time.h> // IWYU pragma: keep 6 7 #include "nvim/eval/typval_defs.h" 8 #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep 9 #include "nvim/garray_defs.h" // IWYU pragma: keep 10 #include "nvim/os/fs_defs.h" // IWYU pragma: keep 11 #include "nvim/os/os_defs.h" // IWYU pragma: keep 12 #include "nvim/pos_defs.h" // IWYU pragma: keep 13 #include "nvim/types_defs.h" // IWYU pragma: keep 14 15 /// Values for readfile() flags 16 enum { 17 READ_NEW = 0x01, ///< read a file into a new buffer 18 READ_FILTER = 0x02, ///< read filter output 19 READ_STDIN = 0x04, ///< read from stdin 20 READ_BUFFER = 0x08, ///< read from curbuf (converting stdin) 21 READ_DUMMY = 0x10, ///< reading into a dummy buffer 22 READ_KEEP_UNDO = 0x20, ///< keep undo info 23 READ_FIFO = 0x40, ///< read from fifo or socket 24 READ_NOWINENTER = 0x80, ///< do not trigger BufWinEnter 25 READ_NOFILE = 0x100, ///< do not read a file, do trigger BufReadCmd 26 }; 27 28 typedef varnumber_T (*CheckItem)(void *expr, const char *name); 29 30 enum { 31 FIO_LATIN1 = 0x01, ///< convert Latin1 32 FIO_UTF8 = 0x02, ///< convert UTF-8 33 FIO_UCS2 = 0x04, ///< convert UCS-2 34 FIO_UCS4 = 0x08, ///< convert UCS-4 35 FIO_UTF16 = 0x10, ///< convert UTF-16 36 FIO_ENDIAN_L = 0x80, ///< little endian 37 FIO_NOCONVERT = 0x2000, ///< skip encoding conversion 38 FIO_UCSBOM = 0x4000, ///< check for BOM at start of file 39 FIO_ALL = -1, ///< allow all formats 40 }; 41 42 enum { 43 /// When converting, a read() or write() may leave some bytes to be converted 44 /// for the next call. The value is guessed... 45 CONV_RESTLEN = 30, 46 }; 47 48 enum { WRITEBUFSIZE = 8192, }; ///< size of normal write buffer 49 50 enum { 51 /// We have to guess how much a sequence of bytes may expand when converting 52 /// with iconv() to be able to allocate a buffer. 53 ICONV_MULT = 8, 54 }; 55 56 #include "fileio.h.generated.h"