aix-curpag-redux-20071213

LICENSE IPL10

add curpag() support for aix, based on work by tom keiser
This commit is contained in:
Derrick Brashear 2007-12-13 21:21:56 +00:00
parent fcc8aa021f
commit af3a4e7852
3 changed files with 19 additions and 10 deletions

View File

@ -56,6 +56,7 @@ RCSID
#include <sys/lockf.h>
#ifdef AFS_AIX51_ENV
#include <sys/cred.h>
#include <sys/pag.h>
#endif
#endif
#ifdef HAVE_UNISTD_H
@ -1614,11 +1615,10 @@ static afs_uint32
curpag(void)
{
#if defined(AFS_AIX51_ENV)
afs_int32 pag;
if (get_pag(PAG_AFS, &pag) < 0 || pag == 0)
pag = NOPAG;
return pag;
int code = getpagvalue("afs");
if (code < 0 && errno == EINVAL)
code = 0;
return code;
#else
gid_t groups[NGROUPS_MAX];
afs_uint32 g0, g1;

View File

@ -21,6 +21,7 @@
#include <stdlib.h>
#ifdef AFS_AIX51_ENV
#include <sys/cred.h>
#include <sys/pag.h>
#endif
RCSID
@ -177,6 +178,12 @@ do_klog(const char *user, const char *password, const char *lifetime,
static afs_int32
curpag(void)
{
#if defined(AFS_AIX51_ENV)
int code = getpagvalue("afs");
if (code < 0 && errno == EINVAL)
code = 0;
return code;
#else
gid_t groups[NGROUPS_MAX];
afs_uint32 g0, g1;
afs_uint32 h, l, ret;
@ -200,6 +207,7 @@ curpag(void)
return -1;
}
return -1;
#endif
}
/* Returns the AFS pag number, if any, otherwise return -1 */

View File

@ -17,6 +17,8 @@ RCSID
#include <signal.h>
#ifdef AFS_AIX51_ENV
#include <sys/cred.h>
#include <sys/pag.h>
#include <errno.h>
#endif
#endif
#include <stdio.h>
@ -88,11 +90,10 @@ static afs_uint32
curpag(void)
{
#if defined(AFS_AIX51_ENV)
afs_int32 pag;
if (get_pag(PAG_AFS, &pag) < 0 || pag == 0)
pag = -1;
return pag;
int code = getpagvalue("afs");
if (code < 0 && errno == EINVAL)
code = 0;
return code;
#else
afs_uint32 groups[NGROUPS_MAX];
afs_uint32 g0, g1;