This file is indexed.

/usr/include/afs/fsprobe.h is in libopenafs-dev 1.6.7-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/*
 * Copyright 2000, International Business Machines Corporation and others.
 * All Rights Reserved.
 *
 * This software has been released under the terms of the IBM Public
 * License.  For details, see the LICENSE file in the top-level source
 * directory or online at http://www.openafs.org/dl/license10.html
 */

#ifndef __fsprobe_h
#define	__fsprobe_h  1

/*------------------------------------------------------------------------
 * fsprobe.h
 *
 * Interface to the AFS FileServer probe facility.  With the routines
 * defined here, the importer can gather statistics from the given set
 * of FileServers at regular intervals, or force immediate collection.
 *
 *------------------------------------------------------------------------*/

#include <sys/types.h>		/*Basic system types */
#include <netinet/in.h>		/*Internet definitions */
#include <netdb.h>		/*Network database library */
#include <sys/socket.h>		/*Socket definitions */
#include <rx/rx.h>		/*Rx definitions */
#include <afs/afsint.h>		/*AFS FileServer interface */
#include <afs/volser.h>
#include <afs/volint.h>

struct ProbeViceStatistics {
    afs_uint32 CurrentMsgNumber;
    afs_uint32 OldestMsgNumber;
    afs_uint32 CurrentTime;
    afs_uint32 BootTime;
    afs_uint32 StartTime;
    afs_int32 CurrentConnections;
    afs_uint32 TotalViceCalls;
    afs_uint32 TotalFetchs;
    afs_uint32 FetchDatas;
    afs_uint32 FetchedBytes;
    afs_int32 FetchDataRate;
    afs_uint32 TotalStores;
    afs_uint32 StoreDatas;
    afs_uint32 StoredBytes;
    afs_int32 StoreDataRate;
    afs_uint32 TotalRPCBytesSent;
    afs_uint32 TotalRPCBytesReceived;
    afs_uint32 TotalRPCPacketsSent;
    afs_uint32 TotalRPCPacketsReceived;
    afs_uint32 TotalRPCPacketsLost;
    afs_uint32 TotalRPCBogusPackets;
    afs_int32 SystemCPU;
    afs_int32 UserCPU;
    afs_int32 NiceCPU;
    afs_int32 IdleCPU;
    afs_int32 TotalIO;
    afs_int32 ActiveVM;
    afs_int32 TotalVM;
    afs_int32 EtherNetTotalErrors;
    afs_int32 EtherNetTotalWrites;
    afs_int32 EtherNetTotalInterupts;
    afs_int32 EtherNetGoodReads;
    afs_int32 EtherNetTotalBytesWritten;
    afs_int32 EtherNetTotalBytesRead;
    afs_int32 ProcessSize;
    afs_int32 WorkStations;
    afs_int32 ActiveWorkStations;
    afs_int32 Spare1;
    afs_int32 Spare2;
    afs_int32 Spare3;
    afs_int32 Spare4;
    afs_int32 Spare5;
    afs_int32 Spare6;
    afs_int32 Spare7;
    afs_int32 Spare8;
    ViceDisk Disk[VOLMAXPARTS];
};


/*
  * Connection information per FileServer host being probed.
  */
struct fsprobe_ConnectionInfo {
    struct sockaddr_in skt;	/*Socket info */
    struct rx_connection *rxconn;	/*Rx connection */
    struct rx_connection *rxVolconn;	/*Rx connection to Vol server */
    struct partList partList;	/*Server part list */
    afs_int32 partCnt;		/*# of parts */
    char hostName[256];		/*Computed hostname */
};

/*
  * The results of a probe of the given set of FileServers.  The ith
  * entry in the stats array corresponds to the ith connected server.
  */
struct fsprobe_ProbeResults {
    int probeNum;		/*Probe number */
    afs_int32 probeTime;	/*Time probe initiated */
    struct ProbeViceStatistics *stats;	/*Ptr to stats array for servers */
    int *probeOK;		/*Array: was latest probe successful? */
};

extern int fsprobe_numServers;	/*# servers connected */
extern struct fsprobe_ConnectionInfo *fsprobe_ConnInfo;	/*Ptr to connections */
extern int numCollections;	/*Num data collections */
extern struct fsprobe_ProbeResults fsprobe_Results;	/*Latest probe results */

extern int fsprobe_Init(int, struct sockaddr_in *, int, int (*)(void), int );
    /*
     * Summary:
     *    Initialize the fsprobe module: set up Rx connections to the
     *    given set of servers, start up the probe and callback LWPs,
     *    and associate the routine to be called when a probe completes.
     *
     * Args:
     *    int a_numServers                  : Num. servers to connect to.
     *    struct sockaddr_in *a_socketArray : Array of server sockets.
     *    int a_ProbeFreqInSecs             : Probe frequency in seconds.
     *    int (*a_ProbeHandler)()           : Ptr to probe handler fcn.
     *    int a_debug                       : Turn debugging output on?
     *
     * Returns:
     *    0 on success,
     *    Error value otherwise.
     */

extern int fsprobe_ForceProbeNow(void);
    /*
     * Summary:
     *    Force an immediate probe to the connected FileServers.
     *
     * Args:
     *    None.
     *
     * Returns:
     *    0 on success,
     *    Error value otherwise.
     */

extern int fsprobe_Cleanup(int);
    /*
     * Summary:
     *    Clean up our memory and connection state.
     *
     * Args:
     *    int a_releaseMem : Should we free up malloc'ed areas?
     *
     * Returns:
     *    0 on total success,
     *    -1 if the module was never initialized, or there was a problem
     *          with the fsprobe connection array.
     */

#endif /* __fsprobe_h */