Files
my-os-project2/share/sysdefs/ioctl.h

42 lines
608 B
C

#ifndef SHARE_SYSDEFS_IOCTL_H_
#define SHARE_SYSDEFS_IOCTL_H_
#include <stdint.h>
#include <stddef.h>
#define IOCTL_NOHANDLE (-1)
enum {
IOCTL_OPENF = 0,
IOCTL_CLOSEF = 1,
IOCTL_READ = 2,
IOCTL_STAT = 3,
IOCTL_WRITE = 4,
IOCTL_FETCHDIRENT = 5,
};
enum {
IOCTL_F_READ = 1<<0,
IOCTL_F_WRITE = 1<<1,
IOCTL_F_MAKE = 1<<2,
};
enum {
IOCTLSTAT_DIR = 0,
IOCTLSTAT_FILE = 1,
};
typedef struct IoctlStat {
size_t size;
int32_t type;
} IoctlStat;
typedef struct IoctlDirent {
IoctlStat stat;
char name[0x100];
} IoctlDirent;
typedef int32_t IOH;
#endif // SHARE_SYSDEFS_IOCTL_H_