getresuid, getresgid -
  実、実効、保存、ユーザー
  ID / グループ ID
  を取得する
#define _GNU_SOURCE /* 
feature_test_macros(7) 参照 */
 
#include <unistd.h>
 
int getresuid(uid_t *ruid, uid_t *euid, uid_t
  * suid);
 
int getresgid(gid_t *rgid, gid_t *egid, gid_t
  * sgid);
getresuid()
  は、呼び出したプロセスの実
  (real) UID、実効 (effective) UID、 保存
  (saved) set-user-ID ( 
getresgid
  の場合はグループ ID)
  を、 それぞれ引き数
  
ruid, 
euid, 
suid
  に格納して返す。
  
getresgid()
  は、呼び出したプロセスのグループ
  ID
  について同様の処理を行う。
返り値¶
成功した場合は 0
  が返される。エラーの場合は
  -1 が返され、 
errno
  が適切に設定される。
エラー¶
  - EFAULT
 
  - 指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の
      アドレスである。
 
バージョン¶
これらのシステムコールはカーネル
  2.1.44 から Linux に登場した。
 
プロトタイプ宣言は 2.3.2
  以降の glibc では 
_GNU_SOURCE
  を定義していると得られる。
これらのコールは非標準である。
  HP-UX や BSD
  系のいくつかにも存在する。
元々の Linux の 
getresuid() と
  
getresgid()
  システムコールは 16
  ビットのグループ ID
  だけに対応していた。
  その後、Linux 2.4 で、32
  ビットの ID に対応した
  
getresuid32() と 
getresgid32()
  が追加された。 glibc の
  
getresuid() と 
getresgid()
  のラッパー関数は
  カーネルバージョンによるこの違いを吸収している。
関連項目¶
getuid(2), 
setresuid(2), 
setreuid(2), 
setuid(2),
  
credentials(7)
この文書について¶
この man ページは Linux 
man-pages
  プロジェクトのリリース
  3.41 の一部
  である。プロジェクトの説明とバグ報告に関する情報は
  
http://www.kernel.org/doc/man-pages/
  に書かれている。