fs Add mkd subcommand for creating directories

This commit is contained in:
2025-10-04 01:38:59 +02:00
parent 26517e8e28
commit b624214433
2 changed files with 27 additions and 8 deletions

View File

@ -2,8 +2,8 @@
#include <stddef.h>
#include <ulib.h>
extern void fs_fetch(void);
extern void fs_mkf(void);
#define CMDS(X) \
X(fetch) X(mkf) X(mkd)
void main(void) {
if (argslen() == 0) {
@ -12,11 +12,13 @@ void main(void) {
char *cmd = args()[0];
if (string_strcmp(cmd, "fetch") == 0) {
fs_fetch();
} else if (string_strcmp(cmd, "mkf") == 0) {
fs_mkf();
} else {
uprintf("fs: unknown command %s\n", cmd);
#define X(name) if (string_strcmp(cmd, #name) == 0) { \
extern void fs_ ## name(void); \
fs_ ## name(); \
return; \
}
CMDS(X)
#undef X
uprintf("fs: unknown command %s\n", cmd);
}

17
user/fs/mkd.c Normal file
View File

@ -0,0 +1,17 @@
#include <stddef.h>
#include <stdint.h>
#include <ulib.h>
void fs_mkd(void) {
if (argslen() < 2) {
uprintf("fs: Not enough arguments\n");
return;
}
char *path = *(args()+1);
int32_t r = ioctl(IOCTL_NOHANDLE, IOCTL_MKDIR, (uint64_t)path, 0, 0);
if (r != E_OK) {
uprintf("fs: could not create %s\n", path);
}
}