/*-----------------------------------------------------------------------------*/ /* */ /* Copyright (C) 1996-2003 by Texas Instruments, Inc. All rights reserved. */ /* Copyright (C) 2001-2003 Telogy Networks. */ /* */ /*-----------------------------------------------------------------------------*/ #ifndef _INCLUDE_ADAM2_ENV_H_ #define _INCLUDE_ADAM2_ENV_H_ /******************************************************************************* *The structure for each entry in the environment variable region is * as follows: * * control 1: Can be either 0x42 (entry) or 0xff (empty) * checksum 1: * index 1: Unique number associated with a variable-value pair * size 1: Size of the payload (x+1+y+1) * variable x+1: ASCII string * value y+1: ASCII string * * The last entry for a given value is the most current value. * * A set variable will contain both a variable and a value, even if the value is "" * * An unset variable will contain only the header (e.g. For a variable that is * in the region with an index=0x11, [0x42 0x00 0x11 0x00] ) ******************************************************************************/ /* Note that these definitions must match with the definitions in ADAM2. */ /* These definitions allow for a 10kB area for saving the environment variables */ #define FLASH_ENV_ENTRY_SIZE 128 #define MAX_ENV_ENTRY 80 /* max # of Adam2 environment variables */ #define MAX_ENV_ERRORS 16 /* max error msgs before we abort the action */ typedef struct { char *name; char *val; }t_env_var; extern char *adam2_env_get_value(char *var); extern char *adam2_env_get_variable(int idx); extern int adam2_env_set_variable(char *var, char *val); extern int adam2_env_unset_variable(char *var); extern int adam2_env_defrag(void); extern char *adam2_env_get_value_direct(char *var); /* function prototypes for env support as seen by pspboot */ char *env_get_base(unsigned int *block_size); int sys_unsetenv(char *); int sys_setenv(char *, char *); char *sys_getenv(char *); void sh_printenv(void); void init_env(void); int sys_defragenv(void); int sys_initenv(void); char* sys_getienv(int var_num); char* sys_getivar (int var_num); int get_envstring(int index, char *buffer); #endif /* _INCLUDE_ADAM2_ENV_H_ */