Skip to content
alias.h 955 B
Newer Older
Seblu's avatar
Seblu committed
/*
** alias.h for 42sh
**
** Made by Seblu
** Login   <seblu@epita.fr>
**
** Started on  Wed Aug 23 00:32:09 2006 Seblu
Seblu's avatar
Seblu committed
** Last update Tue Nov 14 15:32:55 2006 seblu
Seblu's avatar
Seblu committed
*/

#ifndef ALIAS_H_
# define ALIAS_H_

# include <stddef.h>

Seblu's avatar
Seblu committed
typedef struct alias_item
Seblu's avatar
Seblu committed
{
  char		*name;
  char		*value;
Seblu's avatar
Seblu committed
} s_alias_item;
Seblu's avatar
Seblu committed

Seblu's avatar
Seblu committed
typedef struct alias
Seblu's avatar
Seblu committed
{
  size_t	size;
  size_t	pos;
Seblu's avatar
Seblu committed
  s_alias_item	**db;
} s_alias;
Seblu's avatar
Seblu committed

/*!
** Create a new aliases database
**
** @return new alias database
*/
Seblu's avatar
Seblu committed
s_alias		*alias_init(void);
Seblu's avatar
Seblu committed

/*!
** Add an alias into an alias database
**
** @param aliases alias database
** @param name new alias name
** @param value new alias value
*/
Seblu's avatar
Seblu committed
void		alias_add(s_alias *aliases, const char *name, const char *value);
Seblu's avatar
Seblu committed

/*!
** Remove an alias into an alias database
**
** @param aliases alias database
** @param name alias name to remove
**
** @return true, if alias was found in database, else false
*/
Seblu's avatar
Seblu committed
int		alias_remove(s_alias *aliases, const char *name);
Seblu's avatar
Seblu committed

#endif