libenv is a library for modifying environment variables under UNIX like operating systems. Included is a wrapper library called posix_env that implements a POSIX compliant interface.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
libenv-1.0.0/libenv.h

74 lines
2.9 KiB

/*#############################################################################
# #
# Copyright 2022 TruHobbyist #
# #
# Redistribution and use in source and binary forms, with or #
# without modification, are permitted provided that the following #
# conditions are met: #
# #
# 1. Redistributions of source code must retain the above copyright #
# notice, this list of conditions and the following disclaimer. #
# #
# 2. Redistributions in binary form must reproduce the above #
# copyright notice, this list of conditions and the following #
# disclaimer in the documentation and/or other materials provided #
# with the distribution. #
# #
# 3. Neither the name of the copyright holder nor the names of its #
# contributors may be used to endorse or promote products derived #
# from this software without specific prior written permission. #
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS #
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT #
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS #
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE #
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, #
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES #
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR #
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) #
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, #
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) #
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF #
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #
# #
#############################################################################*/
#pragma once
struct env_s
{
char **vars;
unsigned int vars_size;
};
typedef struct env_s env_t;
int env_init(
char **, // - IN: Environment pointer
env_t * // - OUT: Environment descriptor
);
int env_get(
env_t *, // - IN: Environment descriptor
const char *, // - IN: Environment variable name
char ** // - OUT: Environment variable value
);
int env_set(
env_t *, // - IN: Environment descriptor
const char *, // - IN: Environment variable name
const char * // - IN: Environment variable value
);
int env_unset(
env_t *, // - IN: Environment descriptor
const char * // - IN: Environment variable name
);
int env_debug(
env_t * // - IN: Environment descriptor
);