XenevaOS
Loading...
Searching...
No Matches
_kefile.h
Go to the documentation of this file.
1
32#ifndef __KE_FILE_H__
33#define __KE_FILE_H__
34
35#include <_xeneva.h>
36#include <stdint.h>
37
38#ifdef __cplusplus
40#endif
41
42
43 /* file open modes*/
44#define FILE_OPEN_READ_ONLY (1<<1)
45#define FILE_OPEN_WRITE (1<<2)
46#define FILE_OPEN_CREAT (1<<3)
47
48#define FILE_DIRECTORY (1<<1)
49#define FILE_GENERAL (1<<2)
50#define FILE_DEVICE (1<<3)
51#define FILE_DELETED (1<<4)
52#define FILE_INVALID (1<<5)
53#define FILE_FILE_SYSTEM (1<<6)
54#define FILE_PIPE (1<<7)
55
56#define XENEVA_STDIN 0
57#define XENEVA_STDOUT 1
58#define XENEVA_STDERR 2
59
60/* number of supported storage device*/
61#define XE_MAX_STORAGE_DEVICE 26
62/* number of partitions in each storage device */
63#define XE_MAX_PARTITION 128
64
65#ifdef ARCH_X64
66#pragma pack (push,1)
67#endif
68typedef struct _GUID {
72 uint8_t Data4[8];
74#ifdef ARCH_X64
75#pragma pack(pop)
76#endif
77
78#ifdef ARCH_X64
79#pragma pack(push,1)
80#endif
89#ifdef ARCH_X64
90#pragma pack(pop)
91#endif
92
93#ifdef ARCH_X64
94#pragma pack(push,1)
95#endif
102#ifdef ARCH_X64
103#pragma pack(pop)
104#endif
105
116
117
118//#pragma pack(push,1)
130//#pragma pack(pop)
131
132//#pragma pack(push,1)
141//#pragma pack(pop)
142
143 XE_LIB int _KeOpenFile(char* pathname, int mode);
144 XE_LIB size_t _KeReadFile(int fd, void* buffer, size_t length);
145 XE_LIB size_t _KeWriteFile(int fd, void* buffer, size_t length);
146 XE_LIB int _KeCreateDir(char* filename);
147 XE_LIB int _KeRemoveFile(char* pathname);
148 XE_LIB int _KeCloseFile(int fd);
149 XE_LIB int _KeFileIoControl(int fd, int code, void* arg);
150 XE_LIB int _KeFileStat(int fd, void* buf);
151 XE_LIB int _KeOpenDir(char* filename);
152 XE_LIB int _KeReadDir(int dirfd, void* dirent);
153 XE_LIB int _KeFileSetOffset(int fd, size_t offset);
154 XE_LIB int _KeCreatePipe(char* name, size_t sz);
155 XE_LIB int _KeGetStorageDiskInfo(uint8_t diskID, void* buffer);
156 XE_LIB int _KeGetStoragePartitionInfo(uint8_t diskID, uint8_t partitionID, void* buffer);
157#ifdef __cplusplus
158}
159#endif
160
161#endif
XE_LIB int _KeFileIoControl(int fd, int code, void *arg)
XE_LIB int _KeGetStoragePartitionInfo(uint8_t diskID, uint8_t partitionID, void *buffer)
XE_LIB size_t _KeReadFile(int fd, void *buffer, size_t length)
XE_LIB int _KeFileSetOffset(int fd, size_t offset)
XE_LIB int _KeOpenFile(char *pathname, int mode)
XE_LIB int _KeFileStat(int fd, void *buf)
struct _XEDirectoryEnty_ XEDirectoryEntry
struct _XEFileStatus_ XEFileStatus
XE_LIB int _KeRemoveFile(char *pathname)
struct _disk_info_ XEVDiskInfo
struct _disk_partition_info_ XEVDiskPartitionInfo
XE_LIB int _KeCreatePipe(char *name, size_t sz)
XE_LIB size_t _KeWriteFile(int fd, void *buffer, size_t length)
XE_LIB int _KeGetStorageDiskInfo(uint8_t diskID, void *buffer)
XE_LIB int _KeCloseFile(int fd)
XE_LIB int _KeOpenDir(char *filename)
struct _GUID GUID
XE_LIB int _KeCreateDir(char *filename)
struct _XEFileControl_ XEFileIOControl
XE_LIB int _KeReadDir(int dirfd, void *dirent)
#define XE_LIB
Definition _xeneva.h:55
#define XE_EXTERN
Definition _xeneva.h:50
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
Definition _FsGUIDs.h:36
uint16_t Data2
Definition _FsGUIDs.h:38
uint32_t Data1
Definition _FsGUIDs.h:37
uint8_t Data4[8]
Definition _FsGUIDs.h:40
uint16_t Data3
Definition _FsGUIDs.h:39
Definition _kefile.h:133
char filename[32]
Definition _kefile.h:134
int time
Definition _kefile.h:138
int date
Definition _kefile.h:137
int index
Definition _kefile.h:135
uint8_t flags
Definition _kefile.h:139
int size
Definition _kefile.h:136
Definition _kefile.h:119
uint8_t uchar_2
Definition _kefile.h:122
int syscall_magic
Definition _kefile.h:120
uint16_t ushort_2
Definition _kefile.h:124
uint64_t ulong_2
Definition _kefile.h:128
uint32_t uint_2
Definition _kefile.h:126
uint64_t ulong_1
Definition _kefile.h:127
uint16_t ushort_1
Definition _kefile.h:123
uint32_t uint_1
Definition _kefile.h:125
uint8_t uchar_1
Definition _kefile.h:121
Definition _kefile.h:106
uint32_t group_id
Definition _kefile.h:112
uint32_t num_links
Definition _kefile.h:113
uint32_t current_block
Definition _kefile.h:109
uint8_t filemode
Definition _kefile.h:107
uint32_t start_block
Definition _kefile.h:110
size_t size
Definition _kefile.h:108
uint8_t eof
Definition _kefile.h:114
uint32_t user_id
Definition _kefile.h:111
Definition _kefile.h:81
uint64_t maxBlocks
Definition _kefile.h:86
int num_partition
Definition _kefile.h:85
uint64_t blocksSize
Definition _kefile.h:87
uint8_t vDiskID
Definition _kefile.h:84
char serialNumber[20]
Definition _kefile.h:83
char diskname[40]
Definition _kefile.h:82
Definition _kefile.h:96
char mountedName[32]
Definition _kefile.h:97
GUID partitionGUID
Definition _kefile.h:98
uint64_t startingLBA
Definition _kefile.h:100
GUID uniqueGUID
Definition _kefile.h:99