This file is indexed.

/usr/include/afs/gtxtextcb.h is in libopenafs-dev 1.6.15-1ubuntu1.

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
/*
 * 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 __gator_textcb_h
#define	__gator_textcb_h  1

/*------------------------------------------------------------------------
 * gator_textcb.h
 *
 * Definitions and interface for the gator circular buffer package for
 * its scrollable text object.
 *
 *------------------------------------------------------------------------*/

#include <lock.h>		/*AFS locks */

#define GATOR_TEXTCB_MAXINVERSIONS 10	/*Max highlight inversions */

/*
  * Description of the text hanging off each circular buffer entry.
  */
struct gator_textcb_entry {
    int ID;			/*Overall ID (number) */
    int highlight;		/*(Starting) highlight value */
    int inversion[GATOR_TEXTCB_MAXINVERSIONS];	/*Highlighting inversions */
    int numInversions;		/*Num of above inversions */
    int charsUsed;		/*Num chars used */
    char *textp;		/*Ptr to text buffer itself */
};

/*
 * Circular buffer header.  Note: we actually allocate one more char
 * 	per line than we admit, to make sure we can always null-
 *	terminate each line.
 */
struct gator_textcb_hdr {
    struct Lock cbLock;		/*Lock for this circular buffer */
    int maxEntriesStored;	/*Max num. text entries we store */
    int maxCharsPerEntry;	/*Max characters in each entry */
    int currEnt;		/*Entry currently being written */
    int currEntIdx;		/*Index of current entry */
    int oldestEnt;		/*Oldest entry stored */
    int oldestEntIdx;		/*Index of oldest entry */
    struct gator_textcb_entry *entry;	/*Ptr to array of text entries */
    char *blankLine;		/*Ptr to blank line */
};

/*
  * Operations for text circular buffers.
  */
extern int gator_textcb_Init(int);
    /*
     * Summary:
     *    Initialize this package.  MUST BE THE FIRST ROUTINE CALLED!
     *
     * Args:
     *    int a_debug : Should debugging output be turned on?
     *
     * Returns:
     *    Zero if successful,
     *    Error code otherwise.
     */

extern struct gator_textcb_hdr *gator_textcb_Create(int, int);
    /*
     * Summary:
     *    Create a new text circular buffer.
     *
     * Args:
     *    int a_maxEntriesStored : How many entries should it have?
     *    int a_maxCharsPerEntry : Max chars in each entry.
     *
     * Returns:
     *    Ptr to the fully-initialized circular buffer hdr if successful,
     *    Null pointer otherwise.
     */

extern int gator_textcb_Write(struct gator_textcb_hdr *, char *a_textToWrite,
			      int, int, int);
    /*
     * Summary:
     *    Write the given string to the text circular buffer.  Line
     *    breaks are caused either by overflowing the current text
     *    line or via explicit '\n's.
     *
     * Args:
     *    struct gator_textcb_hdr *a_cbhdr : Ptr to circ buff hdr.
     *    char *a_textToWrite              : Ptr to text to insert.
     *    int a_numChars                   : Number of chars to write.
     *    int a_highlight                  : Use highlighting?
     *    int a_skip;                      : Force a skip to the next line?
     *
     * Returns:
     *    Zero if successful,
     *    Error code otherwise.
     */

extern int gator_textcb_BlankLine(struct gator_textcb_hdr *, int);
    /*
     * Summary:
     *    Write out some number of blank lines to the given circular
     *    buffer.
     *
     * Args:
     *    struct gator_textcb_hdr *a_cbhdr : Ptr to circ buff hdr.
     *    int a_numBlanks                  : Num. blank lines to write.
     *
     * Returns:
     *    Zero if successful,
     *    Error code otherwise.
     */

extern int gator_textcb_Delete(struct gator_textcb_hdr *a_cbhdr);
    /*
     * Summary:
     *    Delete the storage used by the given circular buffer, including
     *    the header itself.
     *
     * Args:
     *    struct gator_textcb_hdr *a_cbhdr : Ptr to the header of the
     *                                          circ buffer to reap.
     *
     * Returns:
     *    Zero if successful,
     *    Error code otherwise.
     */

#endif /* __gator_textcb_h */