PatchworkOS
Loading...
Searching...
No Matches
builtin.c File Reference
#include "builtin.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/io.h>
#include <sys/proc.h>

Go to the source code of this file.

Functions

static uint64_t builtin_cd (uint64_t argc, const char **argv)
 
static uint64_t builtin_help (uint64_t argc, const char **argv)
 
static uint64_t builtin_clear (uint64_t argc, const char **argv)
 
bool builtin_exists (const char *name)
 
uint64_t builtin_execute (uint64_t argc, const char **argv)
 

Variables

static builtin_t builtins []
 

Function Documentation

◆ builtin_cd()

static uint64_t builtin_cd ( uint64_t  argc,
const char **  argv 
)
static

Definition at line 35 of file builtin.c.

References chdir(), ERR, errno, fprintf(), stderr, and strerror().

◆ builtin_clear()

static uint64_t builtin_clear ( uint64_t  argc,
const char **  argv 
)
static

Definition at line 78 of file builtin.c.

References printf().

◆ builtin_execute()

uint64_t builtin_execute ( uint64_t  argc,
const char **  argv 
)

Definition at line 100 of file builtin.c.

References builtins, builtin_t::callback, ERR, and strcmp().

Referenced by pipeline_execute_builtin().

◆ builtin_exists()

bool builtin_exists ( const char *  name)

Definition at line 87 of file builtin.c.

References builtins, and strcmp().

Referenced by pipeline_execute_cmd().

◆ builtin_help()

static uint64_t builtin_help ( uint64_t  argc,
const char **  argv 
)
static

Definition at line 52 of file builtin.c.

References builtins, and printf().

Variable Documentation

◆ builtins

builtin_t builtins[]
static
Initial value:
= {
{
.name = "cd",
.callback = builtin_cd,
.description = "Change the current working directory.",
.usage = "cd [directory]",
},
{
.name = "help",
.callback = builtin_help,
.description = "Show this help message.",
.usage = "help",
},
{
.name = "clear",
.callback = builtin_clear,
.description = "Clear the terminal screen.",
.usage = "clear",
},
}
static uint64_t builtin_help(uint64_t argc, const char **argv)
Definition builtin.c:52
static uint64_t builtin_clear(uint64_t argc, const char **argv)
Definition builtin.c:78
static uint64_t builtin_cd(uint64_t argc, const char **argv)
Definition builtin.c:35

Definition at line 14 of file builtin.c.

Referenced by builtin_execute(), builtin_exists(), and builtin_help().