EN JA
GETLOGINCLASS(2)
GETLOGINCLASS(2) FreeBSD System Calls Manual GETLOGINCLASS(2)

名称

getloginclass, setloginclassログインクラスを取得する/設定する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
getloginclass( char *name, size_t len);

int
setloginclass( const char *name);

解説

getloginclass() ルーチンは、 setloginclass() によって以前に設定されているとおりに、呼び出しプロセスに関連しているログインクラス名を返します。呼び出し側は、結果を保持するために長さ len バイトあるバッファ name を提供しなければなりません。バッファは、少なくとも MAXLOGNAME バイトの長さであるべきです。

setloginclass() システムコールは、呼び出しプロセスのログインクラスを name に設定します。このシステムコールは、スーパユーザに制限され、通常、新しいセッションが (例えば、ログイン時か、またはリモートシェルが呼び出されるとき) 指定されたユーザの代わりに作成されているときだけ、使用されます。プロセスは、それらの両親からのログインクラスを引き継ぎます。

戻り値

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

次のエラーは、これらの呼び出しによって返されます:
[ EFAULT]
name 引数が無効アドレスを与えました。
[ EINVAL]
name 引数が長過ぎた文字列を指していました。ログインクラス名は、 ( < sys/param.h> に存在する) MAXLOGNAME 文字、現在のヌル文字を含む 17、に制限されています。
[ EPERM]
呼び出し側者が、スーパユーザではないのに、ログインクラスを設定しようとしている。
[ ENAMETOOLONG]
バッファのサイズが、返される結果より小さい。

関連項目

setusercontext(3)

歴史

getloginclass() と setloginclass() システムコールは、 FreeBSD 9.0 ではじめて登場しました。
March 6, 2011 FreeBSD