This is Unofficial EPICS BASE Doxygen Site
osdEnv.c File Reference
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <errno.h>
#include <crt_externs.h>
#include "epicsStdio.h"
#include "envDefs.h"
#include "iocsh.h"
+ Include dependency graph for osdEnv.c:

Go to the source code of this file.

Macros

#define environ   (*_NSGetEnviron())
 

Functions

LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value)
 Set an environment variable's value. More...
 
LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name)
 Clear the value of an environment variable. More...
 
LIBCOM_API void epicsStdCall epicsEnvShow (const char *name)
 Print value of an environment variable, or all variables. More...
 

Macro Definition Documentation

#define environ   (*_NSGetEnviron())

Definition at line 26 of file osdEnv.c.

Function Documentation

LIBCOM_API void epicsStdCall epicsEnvSet ( const char *  name,
const char *  value 
)

Set an environment variable's value.

The setenv() routine is not available on all operating systems. This routine provides a portable alternative for all EPICS targets.

Parameters
nameEnvironment variable name.
valueNew value for environment variable.

Definition at line 35 of file osdEnv.c.

36 {
37  if (!name) return;
38  iocshEnvClear(name);
39  setenv(name, value, 1);
40 }
Definition: link.h:174
void epicsStdCall iocshEnvClear(const char *name)
Definition: iocsh.cpp:1054
LIBCOM_API void epicsStdCall epicsEnvShow ( const char *  name)

Print value of an environment variable, or all variables.

Parameters
nameEnvironment variable name, or NULL to show all.

Definition at line 55 of file osdEnv.c.

56 {
57  if (name == NULL) {
58  extern char **environ;
59  char **sp;
60 
61  for (sp = environ ; (sp != NULL) && (*sp != NULL) ; sp++)
62  printf ("%s\n", *sp);
63  }
64  else {
65  const char *cp = getenv (name);
66  if (cp == NULL)
67  printf ("%s is not an environment variable.\n", name);
68  else
69  printf ("%s=%s\n", name, cp);
70  }
71 }
#define printf
Definition: epicsStdio.h:41
#define NULL
Definition: catime.c:38
#define environ
Definition: osdEnv.c:26
LIBCOM_API void epicsStdCall epicsEnvUnset ( const char *  name)

Clear the value of an environment variable.

Parameters
nameEnvironment variable name.

Definition at line 46 of file osdEnv.c.

47 {
48  iocshEnvClear(name);
49  unsetenv(name);
50 }
void epicsStdCall iocshEnvClear(const char *name)
Definition: iocsh.cpp:1054