以下函数对实体(对象)执行操作:
返回最后一个查询命令找到的实体数。
针对第 N 个实体返回 LCA_QENT_H 类型的实体句柄。
针对列表中的第一个实体返回 LCA_QENT_H 类型的实体句柄。
针对列表中的下一个实体返回 LCA_QENT_H 类型的实体句柄。
针对实体列表中的指定对象返回 LCA_QENT_H 类型的实体句柄。
返回实体句柄指向的对象的名称。
返回实体句柄指向的对象的类名。
以下函数对属性执行操作:
返回实体可用的属性数。
针对实体的第 N 个属性返回 LCA_QPROP_H 类型的属性句柄。
针对实体的第一个属性返回 LCA_QPROP_H 类型的属性句柄。
针对实体的下一个属性返回 LCA_QPROP_H 类型的属性句柄。
针对实体的指定属性返回 LCA_QPROP_H 类型的属性句柄。
返回属性句柄指向的属性的名称。
返回属性的大小(以字节为单位)。
返回属性的类型。
返回属性的值数目。
返回属性的属性值列表。
返回单个属性的第 N 个值。
返回属性值列表中的第一个值。
返回属性值列表中的下一个值。
将属性值转换为字符串格式并将其复制到缓冲区。
将已编制索引的属性值转换为字符串并将其复制到缓冲区。
以下函数控制远程授权操作:
登录远程授权服务器。
确定是否允许用户访问资源。
lca_Init 函数用于初始化 LCA。 在使用任何其他 LCA 函数之前,您必须先调用 lca_Init。 此函数还向全局变量分配在 szModuleName 参数中指定的值(用于标识调用模块的字符串)。
如果成功,则此函数返回零;如果失败,则返回非零值。 如果失败,ppOutput 通常将指向错误消息。
int lca_Init (const char *szModuleName, char **ppOutput);
用于标识使用此 API 的模块的字符串。
注意:该参数不能为 null 或空字符串。
在失败时,是指向包含错误消息的字符串的指针。
lca_Terminate 函数用于退出 LCA。 它关闭任何打开的文件描述符,释放分配的缓冲区,重置 lca_Init 函数设置的模块名称,以及动态卸载链接库。
此函数不返回值。
void lca_Terminate (void);
注意:仅在使用 lca_ParseLine 函数处理数据库之后使用此函数。
lca_ParseLine 函数执行由 szLine 参数指定的命令。 在执行命令后,lca_ParseLine 函数设置 ppOutput 参数,以指向 CA ControlMinder 返回的字符串缓冲区。 调用方不需要分配任何内存。 此缓冲区由 LCA 在内部进行处理,并在您调用 lca_Terminate 函数时释放。
此函数执行以下操作序列:
lca_ParseLine 函数对状态很敏感;也就是说,它会更改后续命令的行为。‑ 例如,以下序列会列出主机 a 中用户 jan 的属性:
lca_ParseLine(“hosts a”, output); lca_ParseLine(“showusr jan”, output);
除 lca_ParseLine 之外,用于发出命令并显示输出的简单应用程序可能不需要任何其他函数。 较复杂的应用程序可能需要更多信息,因此,可能需要使用其他 LCA 函数。
如果成功,则此函数返回零;如果出现错误,则返回非零值。
int lca_ParseLine (char *szLine, char **ppOutput);
包含要执行的命令且以 null 结尾的字符串。‑
指向以 null 结尾的字符串的指针,该字符串包含在执行命令后 CA ControlMinder 返回的结果。‑
lca_ParseMBLine 函数的运行方式与 lca_ParseLine 函数相同,但该函数还执行以下操作:
此附加功能支持产品本地化并允许输入多字节格式字符串。
lca_CheckPasswordQuality 函数通过 sepass 实用程序(对于 UNIX)、selang 或策略管理器检查 CA ControlMinder 数据库或本地操作系统中的用户新密码,但不更改密码。 您可以检查密码是否符合 CA ControlMinder 密码规则。 将基于规则接受或拒绝密码。
如果密码可接受,则函数返回零。 如果密码被拒绝,则函数返回密码被拒绝信息并提供该密码未遵从的规则。
int lca_CheckPasswordQuality (char *szUNAME, char *szPassword, CHECK_RSULT **res, int domain);
请求更改密码的用户。
用户要更改到的密码。
指定访问请求结果的句柄。
指定检查密码所在的域。
注意:此变量供将来使用。 仅在 SEOS_DOMAIN 中实施。
lca_ErrsGetNum 函数返回执行 lca_ParseLine 函数向其发送的最后一个命令后由 CA ControlMinder 返回的错误、警告和信息消息的数目。
如果没有错误、警告或信息消息,则函数返回零。 否则,函数返回所返回的错误、警告和信息消息的总数。
int lca_ErrsGetNum (void);
lca_ErrGetByIdx 函数针对索引为 idx 的错误返回 LCA_ERR_H 类型的错误句柄。 idx 参数是执行 lca_ParseLine 函数发送的最后一个命令之后由 CA ControlMinder 返回的错误和消息列表中的索引。
索引范围从 0(表示第一个错误)到 n_errors‑1(表示最后一个错误)。
稍后,您可以通过 lca_ErrSeverity 和 lca_ErrStage 函数,使用此句柄提取有关错误或消息的信息。
如果成功,则此函数返回 LCA_ERR_H 类型的错误句柄;如果失败,则返回 NULL。
LCA_ERR_H lca_ErrGetByIdx (int idx);
最后一个命令的错误列表中错误的索引。
lca_ErrGetFirst 函数针对发送给 lca_ParseLine 函数的最后一个命令中出现的第一个错误返回 LCA_ERR_H 类型的错误句柄。
稍后,您可以通过 lca_ErrSeverity 和 lca_ErrStage 函数,使用此句柄提取有关错误或消息的信息。
注意:在使用 NULL 句柄调用 lca_ErrGetNext 函数时,lca_ErrGetFirst 函数的行为与其相同。
该函数针对第一个错误记录返回 LCA_ERR_H 类型的错误句柄,如果失败,则返回 NULL。
LCA_ERR_H lca_ErrGetFirst (void);
lca_ErrGetNext 函数针对发送给 lca_ParseLine 函数的最后一个命令中出现的下一个错误返回 LCA_ERR_H 类型的错误句柄。
稍后,您可以通过 lca_ErrSeverity 和 lca_ErrStage 函数,使用此句柄提取有关错误或消息的信息。
该函数针对下一个错误记录返回 LCA_ERR_H 类型的错误句柄,如果失败,则返回 NULL。
LCA_ERR_H lca_ErrGetNext (const LCA_ERR_H errhPrev);
之前返回的错误的句柄。 如果该值为 NULL,则返回第一个错误。
lca_ErrSeverity 函数返回错误的重要级别,用错误句柄 errh 来表示。 可能的重要级别值包括:
出现致命的操作系统内部错误(例如,内存分配)。
执行命令时出错。
命令成功执行,但出现非致命错误。‑
不是错误-错误字符串包含信息消息或警告。
此函数返回错误的重要级别,如果失败,则返回 ‑1。
int lca_ErrSeverity (const LCA_ERR_H errh);
错误记录的句柄。
lca_ErrStage 函数返回发生错误的阶段,用错误句柄 errh 来表示。 可能的阶段值包括:
更新数据库时出错,例如,尝试添加现有对象,或尝试删除不存在的对象。
授权进程阻止命令执行;例如,用户无权执行命令。
通信过程中出错。 这通常表示与 seagent 或 seosd 后台进程之间的通信失败。
连接远程主机失败。
发生错误,但不属于以上任何类别。 通常,这表示语法错误或命令属性错误。
不是错误-错误字符串包含信息消息或警告。
此函数返回错误的阶段,如果失败,则返回 ‑1。
int lca_ErrStage (const LCA_ERR_H errh);
错误记录的句柄。
lca_Err2Str 函数将错误记录转换为字符串,然后将该字符串复制到 szBuff。 如果字符串长于 iBuffLen,lca_Err2Str 函数会将其截断为 iBuffLen 中指定的长度。
如果成功,则此函数返回输出的字符数;如果失败,则返回 ‑1。
int lca_Err2Str (const LCA_ERR_H errh, char *szBuff, int iBuffLen);
错误记录的句柄。
函数向其中复制输出字符串的缓冲区。
szBuff 的大小。
lca_QEntsGetNum 函数返回由发送到 lca_ParseLine 函数的最后一个命令找到的实体(对象)数。 如果最后一个命令不是查询,则 lca_QEntsGetNum 返回零。 否则,返回找到的与查询条件匹配的实体数。
此函数返回由最后一个查询提取的实体(对象)数。 如果发生错误,则函数返回 ‑1。
int lca_QEntsGetNum (void);
lca_QEntGetByIdx 函数针对索引为 idx 的实体返回实体句柄。 idx 参数是发送到 lca_ParseLine 函数的最后一个命令的实体列表中的索引。
索引范围从 0(表示第一个实体)到 n_entities‑1(表示最后一个实体)。 例如,如果查询返回三个实体,则 idx 的值可能为 0、1 或 2。 稍后,您可以使用此句柄提取有关该实体的信息。
对于针对单个对象的查询(如 showusr jan),只有当 idx = 0 时,函数才返回实体句柄;否则,返回 NULL。 对于针对多个对象的查询(如 showusr jan*),将返回由 idx 参数指定的实体句柄。
此函数返回 LCA_QENT_H 类型的实体句柄,如果失败,则返回 NULL。
LCA_QENT_H lca_QEntGetByIdx (int idx);
最后一个查询命令返回的实体(对象)列表中实体的索引。
lca_QEntGetFirst 函数针对发送到 lca_ParseLine 函数的最后一个命令返回的实体列表中的第一个实体,返回 LCA_QENT_H 类型的实体句柄。
如果调用属性为 NULL 的 lca_QEntGetNext 函数,将得到相同结果。
稍后,您可以使用此句柄提取有关该实体的信息。
无论查询返回多少实体,此函数仅返回第一个实体句柄。 要按顺序返回后续实体句柄,请使用 lca_QEntGetNext 函数;要返回特定实体句柄,请使用 lca_QEntGetByIdx 函数。
如果成功,则此函数返回 LCA_QENT_H 类型的实体句柄;如果失败,则返回 NULL。
LCA_QENT_H lca_QEntGetFirst (void);
lca_QEntGetNext 函数针对发送到 lca_ParseLine 函数的最后一个命令返回的实体列表中的下一个实体,返回 LCA_QENT_H 类型的实体句柄。
如果 qenthPrev 参数为 NULL,则函数返回列表中的第一个实体。 稍后,您可以使用此句柄提取有关该实体的信息。
如果成功,则此函数返回 LCA_QENT_H 类型的实体句柄;如果失败,则返回 NULL。
LCA_QENT_H lca_QEntGetNext (const LCA_QENT_H qenthPrev);
查询的实体列表中上一个实体的句柄。
lca_QEntGetByName 函数针对发送到 lca_ParseLine 函数的最后一个命令返回的实体列表中的某一个实体,返回 LCA_QENT_H 类型的实体句柄。
此函数在实体列表中搜索类名和对象名分别为 szCName 和 szOName 的实体。 (如果 szCName 为空,将仅搜索匹配的对象名。)此函数返回匹配实体的实体句柄。 稍后,您可以使用返回的句柄提取有关该实体的信息。
如果成功,则此函数返回 LCA_QENT_H 类型的实体句柄;如果失败,则返回 NULL。
LCA_QENT_H lca_QEntGetByName (const char *szCName, const char *szOName);
带有实体类名的字符串。
带有实体对象名的字符串。
lca_QEntObjName 函数返回实体句柄 qenth 指向的对象的名称。 如果查询结果不包含对象名,则对象名的返回值为空 (NULL)。 例如,在执行 find 命令(列出数据库中的所有类)之后,返回的字符串为空,因为查询的结果是类名,而不是对象名。 在这种情况下,请使用函数 lca_QEntClassName。
此函数返回指向包含对象名称的字符串的指针,如果对象名称为空,则返回 NULL。
char *lca_QEntObjName (const LCA_QENT_H qenth);
实体句柄。
lca_QEntClassName 函数返回句柄 qenth 指向的实体的类名。 如果查询结果不包含类名,则类名的返回值为空 (NULL)。 例如,find classname 命令仅返回指定类的对象名。
如果成功,则此函数返回指向包含类名的字符串的指针;如果失败,则返回 NULL。
char *lca_QEntClassName (const LCA_QENT_H qenth);
实体句柄。
lca_QPropsGetNum 函数返回句柄 qenth 指向的实体的查询属性数。 假定实体是由 lca_ParseLine 函数执行的最后一个命令检索到的。
对象可用的属性数取决于查询。 例外情况:如果查询是 find 命令,则无属性可用,因为仅返回对象名或类名。
如果查询是 showusr、showgrp 或 showres 命令,则此函数计算为 qenth 指向的实体设置的且可以显示的所有属性数。
注意:此函数返回的属性数不一定要与数据库中此实体的总属性数相同。 返回的数目表示上一次针对该实体的查询结果。 实体句柄是指向查询中实体数据的句柄,仅用于通过此 API 访问查询数据。
如果成功,则此函数返回实体可用的属性数;如果失败,则返回 ‑1。
int lca_QPropsGetNum (const LCA_QENT_H qenth);
实体句柄。
lca_QPropGetByIdx 函数返回属性(其索引 idx 在此实体的属性列表中)的属性句柄。 索引范围从 0(表示第一个属性)到 n_props‑1(表示最后一个属性)。
在使用 lca_QPropVal2StrEx、lca_QPropValGetFirst、lca_QPropValGetNext 以及 lca_QPropValList 函数时,可以稍后使用返回的句柄提取有关属性的数据。
此函数返回请求的属性的属性句柄。 如果此实体不存在具有指定索引的属性,则函数返回 NULL。
LCA_QPROP_H lca_QPropGetByIdx (const LCA_QENT_H qenth, int idx);
用于在查询中标识实体的实体句柄。
实体属性列表中请求的属性的索引。
lca_QPropGetFirst 函数返回 qenth 参数指向的实体的第一个属性的属性句柄。 在使用 lca_QPropVal2StrEx、lca_QPropValGetFirst、lca_QPropValGetNext 以及 lca_QPropValList 函数时,可以稍后使用返回的句柄提取有关属性的数据。
此函数返回一个属性句柄。 如果针对此实体的查询结果中没有可用的属性,则此函数返回 NULL。
LCA_QPROP_H lca_QPropGetFirst (const LCA_QENT_H qenth);
用于在查询中标识实体的实体句柄。
lca_QPropGetNext 函数返回 qenth 参数指向的实体的属性句柄(属性在 qprophPrev 参数指向的属性之后)。 如果 qprophPrev 函数为 NULL,则返回列表中的第一个属性。
在使用 lca_QPropVal2StrEx、lca_QPropValGetFirst、lca_QPropValGetNext 以及 lca_QPropValList 函数时,可以稍后使用返回的句柄提取有关属性的数据。
此函数返回一个属性句柄。 如果针对此实体的查询结果中不再有可用的属性,则此函数返回 NULL。
LCA_QPROP_H lca_QPropGetNext (const LCA_QENT_H qenth, \ const LCA_QPROP_H qprophPrev);
用于在查询中标识实体的实体句柄。
最后检索到的属性的属性句柄。
lca_QPropGetByName 函数返回 qenth 参数指向的实体的属性句柄(属性名称位于 szPName 参数中)。 在使用 lca_QPropVal2StrEx、lca_QPropValGetFirst、lca_QPropValGetNext 以及 lca_QPropValList 函数时,可以稍后使用返回的句柄提取有关属性的数据。
此函数返回一个属性句柄。 如果没有此名称的属性,则此函数返回 NULL。
LCA_QPROP_H lca_QPropGetByName (const LCA_QENT_H qenth const char szPName);
用于在查询中标识实体的实体句柄。
表示属性名称的字符串。
lca_QPropName 函数接收可标识实体的一个属性并返回属性名称的属性句柄。 该函数属于一组用于检索单个属性相关信息的函数。 属性名称是在数据库中定义的名称,或(对于 UNIX 查询)CA ControlMinder 分配给 UNIX 属性的符号名。
如果成功,则此函数返回表示属性名称的字符串;如果失败,则返回 NULL。
char *lca_QPropName (const LCA_QPROP_H qproph);
属性句柄。
lca_QPropSize 函数接收可标识实体的一个属性并返回属性大小(以字节为单位)的属性句柄。 该函数属于一组用于检索单个属性相关信息的函数。 返回属性的单个值的大小。 如果是列表属性(如访问控制列表 (ACL)),则返回单个元素的大小。 要确定整个列表的大小,请将单个值的小大与列表中的值数目相乘即可。 通过使用 lca_QPropValsNum 函数,可以检索列表中的值数目。
如果成功,则此函数返回属性的大小;如果失败,则返回 ‑1。
unsigned short lca_QPropSize (const LCA_QPROP_H qproph);
属性句柄。
lca_QPropType 函数接收可标识实体的一个属性并返回属性类型的属性句柄。 该函数属于一组用于检索单个属性相关信息的函数。 可能的属性类型在 seostype.h 标头文件中列出。
如果成功,则此函数返回表示属性类型的单个字符;如果失败,则返回 ‑1。
char lca_QPropType (const LCA_QPROP_H qproph);
属性句柄。
lca_QPropValsNum 函数接收可标识实体的一个属性并返回属性值数目的属性句柄。 该函数属于一组用于检索单个属性相关信息的函数。 对于大多数属性,该数目始终为一。 但是,某些属性由列表组成,可能具有多个值。 由列表组成的属性的一些示例包括 ACL、PACL、INetACL、UserList 以及 GroupList。
如果成功,则此函数返回属性值数目。 如果函数失败,则返回 ‑l。
unsigned int lca_QPropValsNum (const LCA_QPROP_H qproph);
属性句柄。
lca_QPropValList 函数返回 qproph 参数标识的单个属性的属性值列表。 返回的值是指向值的指针数组。 如果属性只有一个值,则仅第一个指针有效。 要确定列表中有效指针数,请调用 lca_QPropValsNum 函数。
如果成功,则函数返回指向属性值的指针数组的一个指针;如果失败,则返回 NULL。
void **lca_QPropValList (const LCA_QPROP_H qproph);
属性句柄。
lca_QPropValGetByIdx 函数接收可标识实体的一个属性并返回属性值的属性句柄。 idx 参数可标识函数返回其值的属性。
此函数通过属性在值列表中的索引来标识值。 索引范围从 0 到小于 lca_QPropValsNum 函数返回值的一个值。
要确定列表中的值数目,请调用 lca_QPropValsNum。 如有必要,请使用 lca_QPropVal2StrEx 函数将此值转换为字符串。
如果成功,则此函数返回指向单个属性值的指针;如果失败,则返回 NULL。
void *lca_QPropValGetByIdx (const LCA_QPROP_H qproph, int idx);
属性句柄。
属性的值的索引(在列表属性情况下)。
lca_QPropValGetFirst 函数返回 qproph 参数标识属性的值列表中的第一个值。 如有必要,请使用 lca_QPropVal2StrEx 函数将此值转换为字符串。
如果成功,则此函数返回指向单个属性值的指针;如果失败,则返回 NULL。
void *lca_QPropValGetFirst (const LCA_QPROP_H qproph);
属性句柄。
lca_QPropValGetNext 函数返回 qproph 参数标识属性的值列表中的下一个属性值。 pPrevVal 参数标识列表中的上一个值。 此函数返回 pPrevVal 后跟的值。 如果 pPrevVal 为 NULL,则此函数返回列表中的第一个值。
稍后可以使用 lca_QPropVal2StrEx 函数将返回的值转换为字符串。
如果成功,则此函数返回指向单个属性值的指针;如果失败,则返回 NULL。
void *lca_QPropValGetNext (const LCA_QPROP_H qproph, const void *pPrevVal);
属性句柄。
列表中的上一个值。
lca_QPropVal2Str 函数将属性值转换为字符串并将该字符串复制到 szBuff。 如果字符串长于 iBuffLen,lca_QPropVal2Str 函数会将其截断为 iBuffLen 中指定的长度。
重要说明! 此函数已过时,仅用于满足向后兼容性。 您应当使用 lca_QPropVal2StrEx 函数。
如果成功,则此函数返回输出的字符数;如果失败,则返回 ‑1。
int lca_QPropVal2Str (const LCA_QPROP_H qproph, \ const void *pVal, char *szBuff, int iBuffLen);
属性句柄。
指向要转换的属性值的指针。
函数向其中复制输出字符串的缓冲区。
szBuff 的大小。
lca_rmtauth_Init 函数尝试登录 szHost 参数指定的远程授权服务器。 这将建立与服务器的连接,并检查 szPasswd 参数传递的密码是否与运行应用程序的用户的密码匹配。 如果密码匹配,则登录过程继续。
如果登录成功,则函数返回零;如果失败,则返回非零值。 如果登录失败,ppOutput 参数将指向一个错误消息。
int lca_rmtauth_Init (const char *szModuleName, \ char **ppOutput, char *szHost, char *szPasswd);
应用程序的名称。
注意:该参数不能为 null 或空字符串。
如果失败,则为指向一个错误消息字符串的指针。
要连接到的服务器的名称。
访问服务器的用户的密码。
lca_rmtauth_CheckAccess 函数查询 CA ControlMinder 远程授权服务器,确定用户(由 szAccessor 指定)在使用指定访问类型 (szAccs) 时是否获准访问指定资源 (szOName)。 此函数向远程授权服务器发送请求,然后使用 SEOSROUTE_RequestAuth 函数执行检查。
如果登录成功,则函数返回零;如果失败,则返回非零值。
int lca_rmtauth_CheckAccess (const char *szAccessor, \ char *szClass, char *szOName, char *szAccs, API_AUTH_RES *result);
请求授权的访问者(用户)的名称。
将要检查访问授权的资源。
用户请求访问的资源对象。
请求的访问类型。 有效的访问类型在 seostype.h 标头文件中列出。
服务器的访问请求结果。
版权所有 © 2013 CA。
保留所有权利。
|
|