從核心擷取使用者和群組名稱長度限制
您可以使用指令及子常式,從核心擷取 v_max_logname 參數。
使用 getconf 指令
您可以使用 getconf 指令與 LOGIN_NAME_MAX 參數搭配,擷取核心中的使用者和群組名稱長度限制。getconf 指令輸出包含終止 NULL 字元。
下列範例顯示如何使用 getconf 指令,從核心中擷取現行使用者和群組名稱限制:
$ getconf LOGIN_NAME_MAX
20
$
使用 sysconf 子常式
您可以使用 sysconf 子常式與 _SC_LOGIN_NAME_MAX 參數搭配,擷取核心中的使用者和群組名稱長度限制。
下列範例顯示如何使用 sysconf 子常式,從核心中擷取使用者和群組名稱長度限制:
#include <unistd.h>
main()
{
long len;
len = sysconf(_SC_LOGIN_NAME_MAX);
printf("The name length limit is %d\n", len);
}
使用 sys_parm 子常式
您可以使用 sys_parm 子常式與 SYSP_V_MAX_LOGNAME 參數搭配,擷取核心中的現行使用者名稱長度限制。
下列範例顯示如何使用 sys_parm 子常式,從核心中擷取使用者名稱長度限制:
#include <sys/types.h>
#include <sys/var.h>
#include <errno.h>
main()
{
int rc;
struct vario myvar;
rc = sys_parm (SYSP_GET, SYSP_V_MAX_LOGNAME, &myvar);
if (!rc)
printf("Max_login_name = %d\n", myvar.v.v_max_logname.value);
else
printf("sys_parm() failed rc = %d, errno = %d\n", rc, errno);
}