24#ifndef MYSQL_FILE_IO_H
25#define MYSQL_FILE_IO_H
34#define MY_FILE_O_RDONLY 0
36#define MY_FILE_O_WRONLY 0x1
38#define MY_FILE_O_RDWR 0x2
40#define MY_FILE_O_ACCMODE (MY_FILE_O_WRONLY | MY_FILE_O_RDWR)
42#define MY_FILE_O_CREAT 0x4
44#define MY_FILE_O_EXCL 0x8
46#define MY_FILE_O_NOCTTY 0x10
48#define MY_FILE_O_TRUNC 0x20
50#define MY_FILE_O_APPEND 0x40
52#define MY_FILE_O_NONBLOCK 0x80
54#define MY_FILE_O_SYNC 0x100
56#define MY_FILE_FASYNC 0x200
58#define MY_FILE_O_DIRECT 0x400
60#define MY_FILE_O_LARGEFILE 0x800
62#define MY_FILE_O_DIRECTORY 0x1000
64#define MY_FILE_O_NOFOLLOW 0x2000
66#define MY_FILE_O_NOATIME 0x4000
68#define MY_FILE_O_CLOEXEC 0x8000
70#define MY_FILE_O_TEXT 0x10000
72#define MY_FILE_O_BINARY 0x20000
74#define MY_FILE_O_RAW 0x40000
76#define MY_FILE_O_TEMPORARY 0x80000
78#define MY_FILE_O_NOINHERIT 0x100000
80#define MY_FILE_O_SEQUENTIAL 0x200000
82#define MY_FILE_O_RANDOM 0x400000
88#define MY_FILE_PERMISSION_USER_READ 0x1
90#define MY_FILE_PERMISSION_USER_WRITE 0x2
92#define MY_FILE_PERMISSION_USER_EXECUTE 0x4
94#define MY_FILE_PERMISSION_GROUP_READ 0x8
96#define MY_FILE_PERMISSION_GROUP_WRITE 0x10
98#define MY_FILE_PERMISSION_GROUP_EXECUTE 0x20
100#define MY_FILE_PERMISSION_OTHERS_READ 0x40
102#define MY_FILE_PERMISSION_OTHERS_WRITE 0x80
104#define MY_FILE_PERMISSION_OTHERS_EXECUTE 0x100
106#define MY_FILE_PERMISSION_USER_RWX \
107 (MY_FILE_PERMISSION_USER_READ | MY_FILE_PERMISSION_USER_WRITE | \
108 MY_FILE_PERMISSION_USER_EXECUTE)
110#define MY_FILE_PERMISSION_GROUP_RWX \
111 (MY_FILE_PERMISSION_GROUP_READ | MY_FILE_PERMISSION_GROUP_WRITE | \
112 MY_FILE_PERMISSION_GROUP_EXECUTE)
114#define MY_FILE_PERMISSION_OTHERS_RWX \
115 (MY_FILE_PERMISSION_OTHERS_READ | MY_FILE_PERMISSION_OTHERS_WRITE | \
116 MY_FILE_PERMISSION_OTHERS_EXECUTE)
122#define MY_FILE_SEEK_SET 0
124#define MY_FILE_SEEK_CUR 0x1
126#define MY_FILE_SEEK_END 0x2
132#define MY_FILE_ERROR_IO (~(size_t)0)
134#define MY_FILE_ERROR_POS (~(unsigned long long)0)
170 (const
char *
file_name,
int open_flags,
int permission_flags));
struct FILE_h_imp * FILE_h
Definition: mysql_file.h:136
void write(W *w, const T &t, const char *key, size_t key_sz)
Definition: sdi_impl.h:335
static const char * whence(const Item_field *cached_field)
Get the name of the cached field of an Item_cache_json instance.
Definition: item.cc:10083
std::string file_name(Log_file_id file_id)
Provides name of the log file with the given file id, e.g.
Definition: log0pre_8_0_30.cc:94
static mysql_service_status_t create(my_h_string *) noexcept
Definition: mysql_string_all_empty.cc:43
size_t size(const char *const c)
Definition: base64.h:46
stdx::expected< void, std::error_code > close(file_handle_type native_handle)
close file handle.
Definition: file.h:239
stdx::expected< size_t, std::error_code > read(SyncReadStream &stream, const MutableBufferSequence &buffers)
Definition: buffer.h:835
static mysql_service_status_t flush(reference_caching_cache cache) noexcept
Definition: component.cc:114
stdx::expected< int, std::error_code > open(const char *fname, int flags, mode_t mode) noexcept
Definition: file_handle.cc:79
#define DECLARE_METHOD(retval, name, args)
Declares a method as a part of the Service definition.
Definition: service.h:103
#define END_SERVICE_DEFINITION(name)
A macro to end the last Service definition started with the BEGIN_SERVICE_DEFINITION macro.
Definition: service.h:91
#define BEGIN_SERVICE_DEFINITION(name)
Declares a new Service.
Definition: service.h:86
#define DEFINE_SERVICE_HANDLE(name)
Defines an object type that is meant for carrying handles to the implementation-specific objects used...
Definition: service.h:129