Loading...
Searching...
No Matches
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.
int | G_get_gisrc_mode (void)
| Get info where variables are stored.
void | G_init_env (void)
| Initialize variables.
void | G__read_mapset_env (void)
| Force to read the mapset environment file VAR.
void | G__read_gisrc_env (void)
| Force to read the GISRC environment file.
void | G__read_gisrc_path (void)
| Read or read again the GISRC (session) environment variable.
const char * | G_getenv (const char *name)
| Get environment variable.
const char * | G_getenv2 (const char *name, int loc)
| Get variable from specific place.
const char * | G_getenv_nofatal (const char *name)
| Get environment variable.
const char * | G_getenv_nofatal2 (const char *name, int loc)
| Get environment variable from specific place.
void | G_setenv (const char *name, const char *value)
| Set environment variable (updates .gisrc).
void | G_setenv2 (const char *name, const char *value, int loc)
| Set environment variable from specific place (updates .gisrc).
void | G_setenv_nogisrc (const char *name, const char *value)
| Set environment name to value (doesn't update .gisrc).
void | G_setenv_nogisrc2 (const char *name, const char *value, int loc)
| Set environment name to value from specific place (doesn't update .gisrc).
void | G_unsetenv (const char *name)
| Remove name from environment.
void | G_unsetenv2 (const char *name, int loc)
| Remove name from environment from specific place.
void | G__write_env (void)
| Writes current environment to .gisrc.
const char * | G_get_env_name (int n)
| Get variable name for index n.
void | G__read_env (void)
| Initialize init array for G_VAR_GISRC.
void | G_create_alt_env (void)
| Set up alternative environment variables.
void | G_switch_env (void)
| Switch environments.

## Detailed Description

GIS library - environment routines.

(C) 2001-2026 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

## G__read_env()

void G__read_env | ( | void |  | ) |

Initialize init array for G_VAR_GISRC.

Definition at line 561 of file env.c.

## G__read_gisrc_env()

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 read before. Existing values will be overwritten, new values appended.

Returns

Definition at line 112 of file env.c.

## G__read_gisrc_path()

void G__read_gisrc_path | ( | void |  | ) |

Read or read again the GISRC (session) environment variable.

The GISRC environment variable will be read and its value stored, ignoring if it was read before.

Calls G_fatal_error when the GISRC variable is not set.

Definition at line 125 of file env.c.

References G_fatal_error().

## G__read_mapset_env()

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 read before. Existing values will be overwritten, new values appended.

Returns

Definition at line 98 of file env.c.

## G__write_env()

void G__write_env | ( | void |  | ) |

Writes current environment to .gisrc.

Definition at line 524 of file env.c.

## G_create_alt_env()

void G_create_alt_env | ( | void |  | ) |

Set up alternative environment variables.

Definition at line 569 of file env.c.

References b, and NULL.

Referenced by G_make_mapset().

## G_get_env_name()

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;
NULL
#define NULL
Definition ccmath.h:32
G_get_env_name
const char * G_get_env_name(int n)
Get variable name for index n.
Definition env.c:546
name
const char * name
Definition named_colr.c:6

Parameters

  n | index of variable

Returns
  pointer to variable name
  NULL not found

Definition at line 546 of file env.c.

References NULL.

## G_get_gisrc_mode()

int G_get_gisrc_mode | ( | void |  | ) |

Get info where variables are stored.

Returns
  mode

Definition at line 73 of file env.c.

## G_getenv()

const char * G_getenv | ( | const char * | name | ) |

Get environment variable.

G_fatal_error() is called when variable is not found.

Parameters

  name | variable name

Returns
  char pointer to value for name

Definition at line 360 of file env.c.

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

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

## G_getenv2()

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

  name | variable name
  loc | location (G_VAR_GISRC, G_VAR_MAPSET)

Returns
  variable value
  NULL if not found

Definition at line 386 of file env.c.

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

## G_getenv_nofatal()

const char * G_getenv_nofatal | ( | const char * | name | ) |

Get environment variable.

Parameters

  name | variable name

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

Definition at line 405 of file env.c.

References name.

Referenced by G__mapset(), G_check_overwrite(), G_define_standard_option(), G_getenv(), G_init_debug(), and G_parser().

## G_getenv_nofatal2()

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

Get environment variable from specific place.

Parameters

  name | variable name
  loc | location (G_VAR_GISRC, G_VAR_MAPSET)

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

Definition at line 424 of file env.c.

References name.

Referenced by G_getenv2().

## G_init_env()

void G_init_env | ( | void |  | ) |

Initialize variables.

Returns

Definition at line 83 of file env.c.

Referenced by G_init_all().

## G_set_gisrc_mode()

void G_set_gisrc_mode | ( | int | mode | ) |

Set where to find/store variables.

Modes:

- G_GISRC_MODE_FILE
- G_GISRC_MODE_MEMORY

Parameters

  mode | mode to find/store variables (G_GISRC_MODE_FILE by default)

Definition at line 63 of file env.c.

## G_setenv()

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

Set environment variable (updates .gisrc).

If value is NULL, becomes an G_unsetenv().

Parameters

  name | variable name
  value | variable value

Definition at line 442 of file env.c.

References name.

## G_setenv2()

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

  name | variable name
  value | variable value
  loc | location (G_VAR_GISRC, G_VAR_MAPSET)

Definition at line 459 of file env.c.

References name.

## G_setenv_nogisrc()

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

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

Parameters

  name | variable name
  value | variable value

Definition at line 472 of file env.c.

References name.

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

## G_setenv_nogisrc2()

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

  name | variable name
  value | variable value
  loc | location (G_VAR_GISRC, G_VAR_MAPSET)

Definition at line 486 of file env.c.

References name.

## G_switch_env()

void G_switch_env | ( | void |  | ) |

Switch environments.

Definition at line 591 of file env.c.

Referenced by G_make_mapset().

## G_unsetenv()

void G_unsetenv | ( | const char * | name | ) |

Remove name from environment.

Updates .gisrc

Parameters

  name | variable name

Definition at line 499 of file env.c.

References name.

## G_unsetenv2()

void G_unsetenv2 | ( | const char * | name,
|  | int | loc )

Remove name from environment from specific place.

Updates .gisrc

Parameters

  name | variable name
  loc | location (G_VAR_GISRC, G_VAR_MAPSET)

Definition at line 514 of file env.c.

References name.