tiny-shell
0.2
A mini shell project aiming to gain knowledge about Win32 and Linux API
Loading...
Searching...
No Matches
source
core
cmd.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
../os/type.h
"
4
#include "
args.h
"
5
9
enum
cmd_type
{
10
CMD_UNKNOWN
,
11
CMD_INVALID_SYNTAX
,
12
CMD_NOOP
,
13
14
CMD_CHANGE_DIR
,
15
CMD_HELP
,
16
CMD_EXIT
,
17
CMD_CLEAR
,
18
CMD_SET_ENV
,
19
CMD_GET_ENV_ALL
,
20
CMD_UNSET_ENV
,
21
CMD_GET_ENV
,
22
CMD_ADD_PATH
,
23
CMD_DEL_FILE
,
24
CMD_LAUNCH_EXECUTABLE
,
25
CMD_KILL
,
26
CMD_RESUME
,
27
CMD_CHILD_PROCESSES
,
28
CMD_LIST
,
29
CMD_DATE
,
30
CMD_TIME
,
31
CMD_STOP_PROC
,
32
CMD_MINIBAT
,
33
CMD_LSDIR
,
34
};
35
39
struct
cmd
{
40
enum
cmd_type
type
;
41
union
{
42
os_char *
new_dir
;
43
int
proc_id
;
44
os_char *
new_path
;
45
os_char *
filename
;
46
os_char *
dir
;
47
struct
{
48
os_char *
name
;
49
os_char *
val
;
50
}
env
;
51
struct
args
args
;
52
}
val
;
53
};
54
56
void
cmd_init_from_str
(
struct
cmd
*obj,
const
char
*str);
57
void
cmd_destroy
(
struct
cmd
*obj);
args.h
cmd_type
cmd_type
Possible command types the shell can understand.
Definition
cmd.h:9
CMD_ADD_PATH
@ CMD_ADD_PATH
Definition
cmd.h:22
CMD_DEL_FILE
@ CMD_DEL_FILE
Definition
cmd.h:23
CMD_RESUME
@ CMD_RESUME
Definition
cmd.h:26
CMD_NOOP
@ CMD_NOOP
Definition
cmd.h:12
CMD_LIST
@ CMD_LIST
Definition
cmd.h:28
CMD_EXIT
@ CMD_EXIT
Definition
cmd.h:16
CMD_LAUNCH_EXECUTABLE
@ CMD_LAUNCH_EXECUTABLE
Definition
cmd.h:24
CMD_KILL
@ CMD_KILL
Definition
cmd.h:25
CMD_GET_ENV
@ CMD_GET_ENV
Definition
cmd.h:21
CMD_UNKNOWN
@ CMD_UNKNOWN
Definition
cmd.h:10
CMD_CLEAR
@ CMD_CLEAR
Definition
cmd.h:17
CMD_MINIBAT
@ CMD_MINIBAT
Definition
cmd.h:32
CMD_UNSET_ENV
@ CMD_UNSET_ENV
Definition
cmd.h:20
CMD_STOP_PROC
@ CMD_STOP_PROC
Definition
cmd.h:31
CMD_CHANGE_DIR
@ CMD_CHANGE_DIR
Definition
cmd.h:14
CMD_DATE
@ CMD_DATE
Definition
cmd.h:29
CMD_GET_ENV_ALL
@ CMD_GET_ENV_ALL
Definition
cmd.h:19
CMD_INVALID_SYNTAX
@ CMD_INVALID_SYNTAX
Definition
cmd.h:11
CMD_SET_ENV
@ CMD_SET_ENV
Definition
cmd.h:18
CMD_HELP
@ CMD_HELP
Definition
cmd.h:15
CMD_LSDIR
@ CMD_LSDIR
Definition
cmd.h:33
CMD_CHILD_PROCESSES
@ CMD_CHILD_PROCESSES
Definition
cmd.h:27
CMD_TIME
@ CMD_TIME
Definition
cmd.h:30
cmd_init_from_str
void cmd_init_from_str(struct cmd *obj, const char *str)
Build command from raw input.
Definition
cmd.c:19
cmd_destroy
void cmd_destroy(struct cmd *obj)
Definition
cmd.c:194
cmd
Resulting struct after parsing the input.
Definition
cmd.h:39
cmd::new_dir
os_char * new_dir
Definition
cmd.h:42
cmd::args
struct args args
Definition
cmd.h:51
cmd::env
struct cmd::@203000056320273124304275261176055346164026217003::@162246040126032313263147134051120077274331025026 env
cmd::name
os_char * name
Definition
cmd.h:48
cmd::filename
os_char * filename
Definition
cmd.h:45
cmd::new_path
os_char * new_path
Definition
cmd.h:44
cmd::val
os_char * val
Definition
cmd.h:49
cmd::type
enum cmd_type type
Definition
cmd.h:40
cmd::proc_id
int proc_id
Definition
cmd.h:43
cmd::dir
os_char * dir
Definition
cmd.h:46
type.h
Generated on Mon Jun 16 2025 14:35:16 for tiny-shell by
1.13.2