This file is indexed.

/usr/include/wulfware/libwulf.h is in libwulf-dev 2.6.0-0ubuntu2.

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
/*
 *========================================================================
 * $Id: libwulf.h 90 2004-09-30 17:38:02Z rgb $
 *
 * See copyright in libwulf_copyright.h and the accompanying file COPYING
 *========================================================================
 */

#include <wulfware/libwulf_copyright.h>
#include <wulfware/wulfware_version.h>

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <strings.h>
#include <string.h>
#include <signal.h>
#include <ctype.h>
#include <pthread.h>
#include <math.h>
#include <errno.h>
#include <sys/file.h>
#include <sys/dir.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
/*
 * This is required to get nanosleep right
#define USE_POSIX199309
 */
#include <time.h>


 
/*
 *========================================================================
 * Useful defines
 *========================================================================
 */
#define STDIN	stdin
#define STDOUT	stdout
#define STDERR	stderr
#define OUTFP   stderr
#define YES	1
#define NO	0
#define PI 3.141592653589793238462643
#define K 1024
#define K4 4096
#define K64 65536
#define UDELAY 0


/*
 * This is all structs and enums needed to extract and store the values
 * on a per-host basis for further processing and display.
 */
#include <wulfware/libwulf_values.h>

/* 
 * This ensures that wulfstat can execute all the commands recognized
 * by xmlsysd, no more and no less.  With a fair bit of work, of course...;-)
 */
#include <wulfware/libwulf_commands.h>

/*
 * These are structs used to xml-parse wulfhosts
 */
#include <wulfware/libwulf_wulfhosts.h>

/* the main gnome include */
/* #include <gnome.h> */

/*
 * The primary host structs.  Must be included after wulfhosts.h
 * xml stuff.
 */
#include <wulfware/libwulf_wulfhost.h>

/*
 * Subroutine Prototypes
 */
#include <wulfware/libwulf_prototypes.h>

/*
 *========================================================================
 * Debug enum -- one per separate component, no particular order
 *========================================================================
 */
 typedef enum {
   D_QUIET,
   D_ALL,
   D_MAIN,
   D_UTIL,
   D_PARSECL,
   D_STARTUP,
   D_WORK,
   D_PARSE,
   D_CONNECT,
   D_INIT_HOST,
   D_CONNECT_HOSTS,
   D_READHOST,
   D_SENDCMD,
   D_SELECT_OPTION,
   D_EXTRACT_VALUES,
   D_INIT_VALUES,
   D_UPDATE_VALUES,
   D_VALUES,
   D_DISPLAY_VALUES,
   D_DISPLAY_DEBUG,
   D_SCREEN,
   D_XMLSYSD,
   D_QUIT,
   N_DEBUG
 } Debug;

 /*
  *========================================================================
  * Global Variables and relevant #defines
  *
  * Set the default values and override from the command line in parsecl().
  *========================================================================
  */

 /* 
  * verbose is a debug switch.  One can switch on the debugging
  * of many components of the program with different values.  However
  * one has to read the source to know what turns on what.
  */
 extern int verbose;
 extern int udelay;

 /*
  * 64K i/o buffers for receiving/parsing the xmlsysd returns.  Global is
  * faster, but we absolutely must NOT use the same buffers on the
  * connection/initialization thread and the update thread, as eventually
  * they are bound to collide with unpredictable results.
  */
 extern char init_buf[K64];
 extern char update_buf[K64];
 /*
  * For parsing attributes etc.
  */
 extern char tmp_buf[K];