Move contents of afs_osi_gcpags to per-OS files
[openafs.git] / src / afs / FBSD / osi_gcpags.c
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #include <afsconfig.h>
11 #include "afs/param.h"
12
13
14 #include "afs/sysincludes.h"    /* Standard vendor system headers */
15 #include "afsincludes.h"        /* Afs-based standard headers */
16 #include "afs/afs_stats.h"      /* afs statistics */
17
18 #if AFS_GCPAGS
19
20 /* afs_osi_TraverseProcTable() - Walk through the systems process
21  * table, calling afs_GCPAGs_perproc_func() for each process.
22  */
23
24  void
25 afs_osi_TraverseProcTable(void)
26 {
27     afs_proc_t *p;
28     LIST_FOREACH(p, &allproc, p_list) {
29         if (p->p_stat == SIDL)
30             continue;
31         if (p->p_stat == SZOMB)
32             continue;
33         if (p->p_flag & P_SYSTEM)
34             continue;
35         afs_GCPAGs_perproc_func(p);
36     }
37 }
38
39 /* return a pointer (sometimes a static copy ) to the cred for a
40  * given afs_proc_t.
41  * subsequent calls may overwrite the previously returned value.
42  */
43 const afs_ucred_t *
44 afs_osi_proc2cred(afs_proc_t * pr)
45 {
46     /*
47      * This whole function is kind of an ugly hack.  For one, the
48      * 'const' is a lie.  Also, we should probably be holding the
49      * proc mutex around all accesses to the credentials structure,
50      * but the present API does not allow this.
51      */
52     return pr->p_ucred;
53 }
54
55 #endif /* AFS_GCPAGS */