KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
dcload.h
Go to the documentation of this file.
1/* KallistiOS ##version##
2
3 dc/dcload.h
4 Copyright (C) 2025 Donald Haase
5*/
6
7/** \file dc/dcload.h
8 \brief Functions to access the system calls provided by dcload.
9 \ingroup dcload_syscalls
10
11 \author Donald Haase
12*/
13
14/** \defgroup dcload_syscalls dcload system calls
15 \brief API for dcload's system calls
16 \ingroup system_calls
17
18 This module encapsulates all the commands provided by dcload
19 via its syscall function.
20
21 @{
22*/
23
24#ifndef __DC_DCLOAD_H
25#define __DC_DCLOAD_H
26
27#include <sys/cdefs.h>
28__BEGIN_DECLS
29
30#include <fcntl.h>
31#include <stdint.h>
32#include <time.h>
33#include <unistd.h>
34#include <utime.h>
35#include <sys/dirent.h>
36#include <sys/types.h>
37
62
63int syscall_dcload(dcload_cmd_t cmd, void *param1, void *param2, void *param3);
64
65ssize_t dcload_read(uint32_t hnd, uint8_t *data, size_t len);
66ssize_t dcload_write(uint32_t hnd, const uint8_t *data, size_t len);
67int dcload_open(const char *fn, int oflags, int mode);
69int dcload_creat(const char *path, mode_t mode);
70int dcload_link(const char *fn1, const char *fn2);
71int dcload_unlink(const char *fn);
72int dcload_chdir(const char *path);
73int dcload_chmod(const char *path, mode_t mode);
74off_t dcload_lseek(uint32_t hnd, off_t offset, int whence);
75
76/* dcload stat */
77typedef struct dcload_stat {
78 unsigned short st_dev;
79 unsigned short st_ino;
81 unsigned short st_nlink;
82 unsigned short st_uid;
83 unsigned short st_gid;
84 unsigned short st_rdev;
85 long st_size;
86 long atime;
88 long mtime;
90 long ctime;
94 long st_spare4[2];
96
97int dcload_fstat(int fildes, dcload_stat_t *buf);
98time_t dcload_time(void);
99int dcload_stat(const char *restrict path, dcload_stat_t *restrict buf);
100/* int dcload_utime(const char *path, const struct utimbuf *times); */
102void dcload_exit(void);
103int dcload_opendir(const char *fn);
107size_t dcload_gdbpacket(const char* in_buf, size_t in_size, char* out_buf, size_t out_size);
109
110/** @} */
111
112__END_DECLS
113
114#endif /* __DC_DCLOAD_H */
Directory entry functionality.
int dcload_close(uint32_t hnd)
ssize_t dcload_write(uint32_t hnd, const uint8_t *data, size_t len)
time_t dcload_time(void)
void dcload_exit(void)
int dcload_creat(const char *path, mode_t mode)
int dcload_chmod(const char *path, mode_t mode)
int dcload_fstat(int fildes, dcload_stat_t *buf)
uint32_t dcload_gethostinfo(uint32_t *ip, uint32_t *port)
int dcload_chdir(const char *path)
int dcload_stat(const char *restrict path, dcload_stat_t *restrict buf)
int dcload_closedir(uint32_t hnd)
dcload_cmd_t
Definition dcload.h:38
ssize_t dcload_read(uint32_t hnd, uint8_t *data, size_t len)
int dcload_opendir(const char *fn)
int dcload_link(const char *fn1, const char *fn2)
struct dirent * dcload_readdir(uint32_t hnd)
int dcload_open(const char *fn, int oflags, int mode)
int syscall_dcload(dcload_cmd_t cmd, void *param1, void *param2, void *param3)
off_t dcload_lseek(uint32_t hnd, off_t offset, int whence)
size_t dcload_gdbpacket(const char *in_buf, size_t in_size, char *out_buf, size_t out_size)
int dcload_unlink(const char *fn)
int dcload_assignwrkmem(int *buf)
int dcload_rewinddir(uint32_t hnd)
@ DCLOAD_CREAT
Definition dcload.h:43
@ DCLOAD_EXIT
Definition dcload.h:54
@ DCLOAD_WRITE
Definition dcload.h:40
@ DCLOAD_READDIR
Definition dcload.h:57
@ DCLOAD_READ
Definition dcload.h:39
@ DCLOAD_FSTAT
Definition dcload.h:49
@ DCLOAD_LINK
Definition dcload.h:44
@ DCLOAD_CLOSEDIR
Definition dcload.h:56
@ DCLOAD_OPEN
Definition dcload.h:41
@ DCLOAD_ASSIGNWRKMEM
Definition dcload.h:53
@ DCLOAD_GETHOSTINFO
Definition dcload.h:58
@ DCLOAD_TIME
Definition dcload.h:50
@ DCLOAD_CHMOD
Definition dcload.h:47
@ DCLOAD_CLOSE
Definition dcload.h:42
@ DCLOAD_UNLINK
Definition dcload.h:45
@ DCLOAD_LSEEK
Definition dcload.h:48
@ DCLOAD_OPENDIR
Definition dcload.h:55
@ DCLOAD_UTIME
Definition dcload.h:52
@ DCLOAD_REWINDDIR
Definition dcload.h:60
@ DCLOAD_GDBPACKET
Definition dcload.h:59
@ DCLOAD_CHDIR
Definition dcload.h:46
@ DCLOAD_STAT
Definition dcload.h:51
static uint32_t("Please see purupuru_effect_t for modern equivalent.") PURUPURU_EFFECT2_UINTENSITY(uint8_t x)
Definition purupuru.h:96
Definition dcload.h:77
long st_blksize
Definition dcload.h:92
long st_blocks
Definition dcload.h:93
long st_spare1
Definition dcload.h:87
unsigned short st_uid
Definition dcload.h:82
long ctime
Definition dcload.h:90
unsigned short st_rdev
Definition dcload.h:84
long st_spare3
Definition dcload.h:91
unsigned short st_gid
Definition dcload.h:83
long st_size
Definition dcload.h:85
unsigned short st_dev
Definition dcload.h:78
unsigned short st_ino
Definition dcload.h:79
int st_mode
Definition dcload.h:80
unsigned short st_nlink
Definition dcload.h:81
long mtime
Definition dcload.h:88
long st_spare2
Definition dcload.h:89
long atime
Definition dcload.h:86
POSIX directory entry structure.
Definition dirent.h:62
KOS-implementation of select C11 and POSIX extensions.
KOS extension of Newlib's utime.h.