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 |