-----------------------------------------------------------------------------

 * format:	int bsc_eraseall(void);
 *		erase the environment variables flash memory
 *
 * returns:	0 - always returned
-----------------------------------------------------------------------------

 * format: 	int bsc_getenv(char *name, char *buff, int buffsize);
 *
 * parameters:  name - the name of the environment variable to find
 *		buff - prealocated space for returned value
 *		bufsize - sizeof(buff)
 *
 * returns:	environment variable size (in bytes)	or
 *		 0 - environment var is not found 	or
 *		-1 - on error

-----------------------------------------------------------------------------

 * format: 	char *bsc_gethwaddr(int devnum, char *value);
 *		return the MAC address of the requested device
 *
 * parameters:  devnum - eth device nummder (0, 1, ...)
 *		value - prealocated space for returned value
 *
 * returns:	the poiner to the value of the MAC address
 *		if the interface wasn't found than pointer to eth0 address

-----------------------------------------------------------------------------

 * format: 	char *bsc_getserialnum(char *value);
 *		return the board serial number
 *
 * parameters:  value - prealocated space for returned value
 *
 * returns:	the poiner to the value of the serial number
 *		or pointer to the (char *)"none" if no serial number found

-----------------------------------------------------------------------------

 * format: 	int  bsc_readenv(int operation, char *buff, int size);
 *		read environment variable names/values
 *
 * parameters:
 *		operation:
 *			0/default - read first environment variable name
 *			1 - read next environment variable name
 *			2 - read current environment variable's value
 *		
 *		buff - prealocated space for returned value
 *		size - sizeof(buff)
 *
 * returns:	length of the environment variable (in bytes)
 *		0 if no or no more environment variables found or error

-----------------------------------------------------------------------------

 * format:	int bsc_reset(int action);
 *		reset external devices and the processor
 *
 * parameters:	action to proceed before reset
 *
 * returns:	should never return

-----------------------------------------------------------------------------

 * format:	int bsc_setenv(char *pair );
 *		set a Flash environment variable to a value
 *
 * parameters:	pair - a string containing "envVarName=envVarValue"
 *
 * returns:	-1 - if pair == NULL or error garbage collecting or user doesn't
 *		   have permissions to write to, delete or redefine the variable
 *		0 - successfully set environment variable

-----------------------------------------------------------------------------

 * format:	int bsc_setpmask(unsigned int mask);
 *		set environment variables protection make
 *
 * parameters:	mask - the new protection mask value desired
 *
 * returns:	0 - always returned

-----------------------------------------------------------------------------

 * format: 	int *bsc_version(void);
 *		return the integer value of FW_VERSION environment var
 *
 * parameters:  none
 *
 * returns:	firmware version
 *		0 - if the version is not found/exist

-----------------------------------------------------------------------------

 * functions: 	int bsc_free(void); - return free env var space in bytes
 *		int bsc_gc(void); - run garbage collection and 
 *                                  return free space
 *
 * parameters:  none
 *
 * returns:	return free flash space for the environment variable
 *		in bytes.
 *
 
-----------------------------------------------------------------------------

 * format: 	void bsc_eraseenv(char *strname);
 *		erase environment variable "name" if strname is
 *		substring of the name and starts from begining
 *
 * parameters:  substring or '*' to erase all with a current pmask
 *		
 * returns:	none

-----------------------------------------------------------------------------

 * format: 	int bsc_printenv(FILE *out, char *strname);
 *		fprint environment variable "name=value" if strname is
 *		substring of the name and starts from begining
 *
 * parameters:  substring to find or '*' to print all with a current pmask
 *		
 * returns:	0  - Ok
 *		-1 - on error

-----------------------------------------------------------------------------
