aboutsummaryrefslogtreecommitdiff
path: root/crypto/compat/issetugid_hpux.c
blob: ca0e42c93bfa6287b0f1f416b32919e7b39c17f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <unistd.h>
#include <sys/pstat.h>

/*
 * HP-UX does not have issetugid().
 * Use pstat_getproc() and check PS_CHANGEDPRIV bit of pst_flag. If this call
 * cannot be used, assume we must be running in a privileged environment.
 */
int issetugid(void)
{
	struct pst_status buf;
	if (pstat_getproc(&buf, sizeof(buf), 0, getpid()) == 1 &&
	    !(buf.pst_flag & PS_CHANGEDPRIV))
		return 0;
	return 1;
}