SylixOS环境变量操作函数接口

news/2024/11/8 22:54:57/

SylixOS中环境变量操作函数存在两套接口:原生的API_TShellVar系列接口和POSIX标准的env接口。

功能var接口env接口
拷贝获取一个环境变量值API_TShellVarGetRtgetenv_r
引用获取一个环境变量值API_TShellVarGetgetenv
设置/新增一个环境变API_TShellVarSetsetenv
删除一个环境变量API_TShellVarDeleteunsetenv
shell命令设置/新增一个环境变API_TShellExecputenv
获得变量个数API_TShellVarGetNum
获取环境变量列表API_TShellVarDup
保存环境变量列表到指定文件API_TShellVarSave:–
从指定文件加载环境变量列表API_TShellVarLoad:–
设置环境变量变动回调函数API_TShellVarHookSet:–

API_TShellVar系列接口

位于libsylixos\SylixOS\shell\ttinyVar\ttinyVar.c文件中。这些API接口函数又是基于libsylixos\SylixOS\shell\ttinyVar\ttinyVarLib.c文件中的对应__tshellVar函数实现。

/*********************************************************************************************************
** 函数名称: API_TShellVarHookSet
** 功能描述: 当变量改变时, 调用的用户回调
** 输 入  : pfuncTSVarHook    新的回调函数
** 输 出  : 以前的回调函数.
*********************************************************************************************************/ 
VOIDFUNCPTR  API_TShellVarHookSet (VOIDFUNCPTR  pfuncTSVarHook)
/*********************************************************************************************************
** 函数名称: API_TShellVarGetRt
** 功能描述: 获得一个变量的值
** 输 入  : pcVarName     变量名
**           pcVarValue    变量的值
** 输 出  : 变量值长度 or ERROR 
*********************************************************************************************************/
INT  API_TShellVarGetRt (CPCHAR  pcVarName, PCHAR   pcVarValue,INT     iMaxLen)
/*********************************************************************************************************
** 函数名称: API_TShellVarGet
** 功能描述: 获得一个变量的值
** 输 入  : pcVarName     变量名
** 输 出  : 变量的值
*********************************************************************************************************/
PCHAR   API_TShellVarGet (CPCHAR  pcVarName)
/*********************************************************************************************************
** 函数名称: API_TShellVarSet
** 功能描述: 设置一个变量的值
** 输 入  : pcVarName     变量名
**           pcVarValue    变量的值
**           iIsOverwrite  是否覆盖
**                         如果 iIsOverwrite 不为0,而该变量原已有内容,则原内容会被改为参数 pcVarValue 
**                         所指的变量内容:如果 iIsOverwrite 为0,且该环境变量已有内容,
**                         则参数 pcVarValue 会被忽略。
** 输 出  : 执行成功则返回0,有错误发生时返回-1。
** 全局变量: 
** 调用模块: API 函数
*********************************************************************************************************/
LW_API  
INT   API_TShellVarSet (CPCHAR  pcVarName, CPCHAR  pcVarValue, INT  iIsOverwrite)
/*********************************************************************************************************
** 函数名称: API_TShellVarDelete
** 功能描述: 删除一个变量
** 输 入  : pcVarName     变量名
** 输 出  : ERROR
** 全局变量: 
** 调用模块: API 函数
*********************************************************************************************************/
LW_API  
INT  API_TShellVarDelete (CPCHAR  pcVarName)
/*********************************************************************************************************
** 函数名称: API_TShellVarGetNum
** 功能描述: 获得变量个数
** 输 入  : NONE
** 输 出  : 变量个数
** 全局变量: 
** 调用模块: API 函数
*********************************************************************************************************/
LW_API  
INT   API_TShellVarGetNum (VOID)
/*********************************************************************************************************
** 函数名称: API_TShellVarDup
** 功能描述: dup shell 变量
** 输 入  : pfuncMalloc       内存分配函数
**           ppcEvn            dup 目标
**           ulMax             最大个数
** 输 出  : dup 个数
** 全局变量: 
** 调用模块: API 函数
*********************************************************************************************************/
LW_API  
INT   API_TShellVarDup (PVOID (*pfuncMalloc)(size_t stSize), PCHAR  ppcEvn[], ULONG  ulMax)
/*********************************************************************************************************
** 函数名称: API_TShellVarSave
** 功能描述: 保存 shell 变量
** 输 入  : pcFile    保存文件名
** 输 出  : ERROR or OK
** 全局变量:
** 调用模块:API 函数
*********************************************************************************************************/
LW_API
INT  API_TShellVarSave (CPCHAR  pcFile)
/*********************************************************************************************************
** 函数名称: API_TShellVarSave
** 功能描述: 读取 shell 变量
** 输 入  : pcFile    保存文件名
** 输 出  : ERROR or OK
** 全局变量:
** 调用模块:API 函数
*********************************************************************************************************/
LW_API
INT  API_TShellVarLoad (CPCHAR  pcFile)

env 系列接口

env 系列接口位于 libsylixos\SylixOS\lib\extern\libc.c 文件中,这组接口都是由一 一对应的 lib_xxx函数实现。而lib env 系列接口位于 libsylixos\SylixOS\lib\libc\stdlib\lib_env.c 文件中。lib env 系列接口本质又是由API_TShellVar系列函数实现。

/*********************************************************************************************************
** 函数名称: lib_getenv_r
** 功能描述: 获得当前系统环境变量. (可重入)
** 输 入  : pcName    变量名
**           pcBuffer  变量的值
**           iLen      长度
** 输 出  : ERROR
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
int  lib_getenv_r (const char  *pcName, char  *pcBuffer, int  iLen)
/*********************************************************************************************************
** 函数名称: lib_getenv
** 功能描述: 获得当前系统环境变量.
** 输 入  : pcName    变量名
** 输 出  : 变量的值
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
char  *lib_getenv (const char  *pcName)
/*********************************************************************************************************
** 函数名称: lib_putenv
** 功能描述: 设置当前系统环境变量.
** 输 入  : cString   变量赋值字串
** 输 出  : ERROR
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
int  lib_putenv (char  *cString)
/*********************************************************************************************************
** 函数名称: lib_setenv
** 功能描述: 设置当前系统环境变量.
** 输 入  : pcName    变量名
**           pcValue   变量的值
**           iRewrite  存在时是否改写
** 输 出  : ERROR
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
int  lib_setenv (const char  *pcName, const char  *pcValue, int  iRewrite)
/*********************************************************************************************************
** 函数名称: lib_unsetenv
** 功能描述: 删除一个指定的系统环境变量.
** 输 入  : pcName    变量名
** 输 出  : ERROR
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
int lib_unsetenv (const char  *pcName)

http://www.ppmy.cn/news/85154.html

相关文章

rust 智能指针

Rust中基本数据类型&#xff08;如整数、浮点数、布尔值等&#xff09;通常存储在栈上。而动态分配的数据&#xff0c;如Box<T>和Vec<T>等&#xff0c;存储在堆上。 Box 智能指针 Rust 中 Box 是一种智能指针类型&#xff0c;通常用于将值放置在堆上而不是栈上。…

双轮平衡车实现自平衡功能

1. 功能说明 在双轮小车上安装一个六轴陀螺仪传感器&#xff0c;本文示例将实现双轮小车自主平衡功能。 2. 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板 Basra主控板&#xff08;兼容Arduino Uno&#xff09; 扩展板 Big…

方正书版10.0快捷键

方正书版10.0快捷键 一、字符工具条快捷键 1、注解括弧对 ctrlshift[ 2、上标 ctrlshiftI 3、下标 ctrlshiftM 4、数学态切换符 ctrlshift; 5、转字体符 ctrlshift’ 6、页码目录替换符 ctrlshift? 7、盒组括弧 ctrlshift] 8、盘外符括弧 ctrlshift( 9、转义…

一个非系统工程师所关心的——Android开机流程

一、Loader层 1. Boot ROM: 上电后&#xff0c;BootRom会被激活&#xff0c;引导芯片代码开始从预定义的地方&#xff08;固化在ROM&#xff09;开始执行&#xff0c;然后加载引导程序到RAM。 2. Boot Loader引导程序 Android是基于Linux系统的&#xff0c;它没有BIO…

【Axure教程】通过文本框维护下拉列表选项

下拉列表&#xff08;Dropdown List&#xff09;是一种常见的用户界面元素&#xff0c;用于提供一组选项供用户选择。它通常以一个展开的列表形式出现&#xff0c;用户可以点击或选择列表中的一个选项。一般来说&#xff0c;他的选项值是由系统代码组成的&#xff0c;所以一般是…

JAVA LIST 根据对象元素去重

应用场景&#xff1a;在开发中过程中 会存在根据List集合中的对象一个或者多个元素进行去重 1&#xff1a;根据List集合中的对象一个元素进行去重 List<PurchaseHead> organizationPurchaseHeadList purchaseHeadList.stream().collect(Collectors.collectingAndThe…

uniapp前端图片布局时z-index出现的几个问题

目录 图片的z-index是怎么看的 一些规则: 图片没有z-index吗&#xff1f; 图片会优先覆盖其他元素吗&#xff1f; z-index失效 static elative、absolute或fixed的元素 元素的z-index覆盖子元素吗 图片的z-index是怎么看的 z-index属性用于控制元素的堆叠顺序,它只对定位…

进程控制

目录 进程创建 fork函数 写时拷贝 进程终止 进程退出场景 进程常见退出方法 进程等待 进程等待的必要性 进程等待的方法 wait方法 waitpid方法 获取子进程status 等待行为options 进程替换 各类程序替换函数的使用 命名理解 execl函数 execv函数 execlp函数…