Skip to content
builtin.h 2.05 KiB
Newer Older
Seblu's avatar
Seblu committed
/*
** builtin.h for 42sh in /home/seblu/svn/42sh
**
** Made by Seblu
** Login   <seblu@epita.fr>
**
** Started on  Sun Nov 12 16:46:24 2006 Seblu
Seblu's avatar
Seblu committed
** Last update Fri Nov 17 13:01:45 2006 seblu
Seblu's avatar
Seblu committed
*/

#ifndef BUILTIN_H_
# define BUILTIN_H_

Seblu's avatar
Seblu committed
typedef int	(*f_builtin)(char *argv[]);
Seblu's avatar
Seblu committed

Seblu's avatar
Seblu committed
/*!
** Says if @var name is a builtin.
**
** @param name builtin name
**
** @return boolean existance
*/
int		is_a_builtin(const char *name);

/*!
** Return a pointer on a builtin function
**
** @param name builtin name
**
** @return pointer on the builtin function @var name
*/
f_builtin	get_builtin(const char *name);

/*!
** Builtin Change Directory
**
** @param argv argument vector
**
** @return success status
*/
int		builtin_cd(char *argv[]);

/*!
** Echo show all element on her line
**
** @param argc number of argument given
**
** @return sucess status
*/
int		builtin_echo(char *argv[]);

/*!
** This builtin change local setting of the shell
**
** @param argv argument vector
**
** @return success status
*/
int		builtin_shopt(char *argv[]);

/*!
** Builtin exit :)
**
** @param argv argument vector
**
** @return success status
*/
int		builtin_exit(char *argv[]);

Seblu's avatar
Seblu committed
/*!
** Set or show aliases.
**
** @param argv argument vector
**
** @return 0 on succes, or 1 if no alias found
*/
int		builtin_alias(char *argv[]);

/*!
** Unset one or more aliases
**
** @param argv argument vector
**
** @return 0 on success, or 1 if no alias found
*/
int		builtin_unalias(char *argv[]);


Seblu's avatar
Seblu committed
int		builtin_source(char *argv[]);
Seblu's avatar
Seblu committed
int		builtin_set(char *argv[]);
Seblu's avatar
Seblu committed
int		builtin_unset(char *argv[]);
Seblu's avatar
Seblu committed
int		builtin_exec(char *argv[]);
Seblu's avatar
Seblu committed
int		builtin_export(char *argv[]);

Seblu's avatar
Seblu committed


/*
** Bonus builtin
*/
Seblu's avatar
Seblu committed
/* int	builtin_simpledot(char *argv[], struct s_42sh *sh); */
/* int	builtin_doubledot(char *argv[], struct s_42sh *sh); */
/* int	builtin_set(char *argv[], struct s_42sh *sh); */
/* int	builtin_varlist(char *argv[], struct s_42sh *sh); */
/* int	builtin_funclist(char *argv[], struct s_42sh *sh); */
/* int	builtin_exec(char *argv[], struct s_42sh *sh); */
/* int	builtin_history(char *argv[], struct s_42sh *sh); */
Seblu's avatar
Seblu committed

#endif /* ! BUILTIN_H_ */