GRASS GIS 7 Programmer's Manual  7.5.svn(2018)-r73111
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
env.c File Reference

GIS library - environment routines. More...

#include <signal.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <grass/gis.h>
#include <grass/glocale.h>
Include dependency graph for env.c:

Go to the source code of this file.

Functions

void G_set_gisrc_mode (int mode)
 Set where to find/store variables. More...
 
int G_get_gisrc_mode (void)
 Get info where variables are stored. More...
 
void G_init_env (void)
 Initialize variables. More...
 
void G__read_mapset_env (void)
 Force to read the mapset environment file VAR. More...
 
void G__read_gisrc_env (void)
 Force to read the GISRC environment file. More...
 
const char * G_getenv (const char *name)
 Get environment variable. More...
 
const char * G_getenv2 (const char *name, int loc)
 Get variable from specific place. More...
 
const char * G_getenv_nofatal (const char *name)
 Get environment variable. More...
 
const char * G_getenv_nofatal2 (const char *name, int loc)
 Get environment variable from specific place. More...
 
void G_setenv (const char *name, const char *value)
 Set environment variable (updates .gisrc) More...
 
void G_setenv2 (const char *name, const char *value, int loc)
 Set environment variable from specific place (updates .gisrc) More...
 
void G_setenv_nogisrc (const char *name, const char *value)
 Set environment name to value (doesn't update .gisrc) More...
 
void G_setenv_nogisrc2 (const char *name, const char *value, int loc)
 Set environment name to value from specific place (doesn't update .gisrc) More...
 
void G_unsetenv (const char *name)
 Remove name from environment. More...
 
void G_unsetenv2 (const char *name, int loc)
 Remove name from environment from specific place. More...
 
void G__write_env (void)
 Writes current environment to .gisrc. More...
 
const char * G_get_env_name (int n)
 Get variable name for index n. More...
 
void G__read_env (void)
 Initialize init array for G_VAR_GISRC. More...
 
void G_create_alt_env (void)
 Set up alternative environment variables. More...
 
void G_switch_env (void)
 Switch environments. More...
 

Detailed Description

GIS library - environment routines.

(C) 2001-2014 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
Original author CERL
Updated for GRASS7 by Glynn Clements

Definition in file env.c.

Function Documentation

void G__read_env ( void  )

Initialize init array for G_VAR_GISRC.

Definition at line 536 of file env.c.

References G_VAR_GISRC.

void G__read_gisrc_env ( void  )

Force to read the GISRC environment file.

The GISRC file will be read into memory, ignoring if it was readed before. Existing values will be overwritten, new values appended.

Returns

Definition at line 112 of file env.c.

References G_VAR_GISRC.

void G__read_mapset_env ( void  )

Force to read the mapset environment file VAR.

The mapset specific VAR file of the mapset set with G_setenv() will be read into memory, ignoring if it was readed before. Existing values will be overwritten, new values appended.

Returns

Definition at line 98 of file env.c.

References G_VAR_MAPSET.

void G__write_env ( void  )

Writes current environment to .gisrc.

Definition at line 499 of file env.c.

References G_VAR_GISRC.

void G_create_alt_env ( void  )

Set up alternative environment variables.

Definition at line 544 of file env.c.

References G_VAR_GISRC, and NULL.

Referenced by G_make_mapset().

const char* G_get_env_name ( int  n)

Get variable name for index n.

For example:

for (n = 0; ; n++)
if ((name = G_get_env_name(n)) == NULL)
break;
Parameters
nindex of variable
Returns
pointer to variable name
NULL not found

Definition at line 521 of file env.c.

References G_VAR_GISRC, and NULL.

int G_get_gisrc_mode ( void  )

Get info where variables are stored.

Returns
mode

Definition at line 73 of file env.c.

Referenced by db_start_driver().

const char* G_getenv ( const char *  name)

Get environment variable.

G_fatal_error() is called when variable is not found.

Parameters
namevariable name
Returns
char pointer to value for name

Definition at line 336 of file env.c.

References _, G_fatal_error(), G_getenv_nofatal(), and NULL.

Referenced by db_driver(), G_gisbase(), G_gisdbase(), and G_location().

const char* G_getenv2 ( const char *  name,
int  loc 
)

Get variable from specific place.

Locations:

  • G_VAR_GISRC
  • G_VAR_MAPSET

G_fatal_error() is called when variable is not found.

Parameters
namevariable name
loclocation (G_VAR_GISRC, G_VAR_MAPSET)
Returns
variable value
NULL if not found

Definition at line 362 of file env.c.

References _, G_fatal_error(), G_getenv_nofatal2(), and NULL.

const char* G_getenv_nofatal ( const char *  name)

Get environment variable.

Parameters
namevariable name
Returns
char pointer to value for name
NULL if name not set

Definition at line 381 of file env.c.

References G_VAR_GISRC, and getenv().

Referenced by D_open_driver(), db_start_driver(), dig_angle_next_line(), dig_area_add_isle(), dig_build_area_with_line(), dig_file_load(), G__mapset(), G_check_overwrite(), G_getenv(), G_init_debug(), G_parser(), Vect_line_intersection(), Vect_line_intersection2(), and Vect_select_areas_by_box().

const char* G_getenv_nofatal2 ( const char *  name,
int  loc 
)

Get environment variable from specific place.

Parameters
namevariable name
loclocation (G_VAR_GISRC, G_VAR_MAPSET)
Returns
char pointer to value for name
NULL if name not set

Definition at line 400 of file env.c.

References getenv().

Referenced by db_get_connection(), db_get_default_database_name(), db_get_default_driver_name(), db_get_default_group_name(), db_get_default_schema_name(), G_getenv2(), tgis_get_connection(), tgis_get_database_name(), and tgis_get_driver_name().

void G_init_env ( void  )

Initialize variables.

Returns

Definition at line 83 of file env.c.

References G_VAR_GISRC, and G_VAR_MAPSET.

Referenced by G_init_all().

void G_set_gisrc_mode ( int  mode)

Set where to find/store variables.

Modes:

  • G_GISRC_MODE_FILE
  • G_GISRC_MODE_MEMORY
Parameters
modemode to find/store variables (G_GISRC_MODE_FILE by default)

Definition at line 63 of file env.c.

Referenced by db_driver().

void G_setenv ( const char *  name,
const char *  value 
)

Set environment variable (updates .gisrc)

If value is NULL, becomes an G_unsetenv().

Parameters
namevariable name
valuevariable value

Definition at line 418 of file env.c.

References G_VAR_GISRC.

void G_setenv2 ( const char *  name,
const char *  value,
int  loc 
)

Set environment variable from specific place (updates .gisrc)

If value is NULL, becomes an G_unsetenv().

Parameters
namevariable name
valuevariable value
loclocation (G_VAR_GISRC, G_VAR_MAPSET)

Definition at line 435 of file env.c.

Referenced by db_set_connection(), and tgis_set_connection().

void G_setenv_nogisrc ( const char *  name,
const char *  value 
)

Set environment name to value (doesn't update .gisrc)

Parameters
namevariable name
valuevariable value

Definition at line 448 of file env.c.

References G_VAR_GISRC.

Referenced by db_driver(), G_check_overwrite(), G_make_location(), and G_make_mapset().

void G_setenv_nogisrc2 ( const char *  name,
const char *  value,
int  loc 
)

Set environment name to value from specific place (doesn't update .gisrc)

Parameters
namevariable name
valuevariable value
loclocation (G_VAR_GISRC, G_VAR_MAPSET)

Definition at line 461 of file env.c.

void G_switch_env ( void  )

Switch environments.

Definition at line 565 of file env.c.

Referenced by G_make_mapset().

void G_unsetenv ( const char *  name)

Remove name from environment.

Updates .gisrc

Parameters
namevariable name

Definition at line 474 of file env.c.

References G_VAR_GISRC.

void G_unsetenv2 ( const char *  name,
int  loc 
)

Remove name from environment from specific place.

Updates .gisrc

Parameters
namevariable name
loclocation (G_VAR_GISRC, G_VAR_MAPSET)

Definition at line 489 of file env.c.

Referenced by db_set_connection().