This file is indexed.

/usr/include/elk/extensions/xt.h is in libelk0-dev 3.99.8-2.1ubuntu2.

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
156
157
158
159
160
161
162
163
164
165
166
/* xt.h
 *
 * $Id$
 *
 * Copyright 1990, 1991, 1992, 1993, 1994, 1995, Oliver Laumann, Berlin
 * Copyright 2002, 2003 Sam Hocevar <sam@hocevar.net>, Paris
 *
 * This software was derived from Elk 1.2, which was Copyright 1987, 1988,
 * 1989, Nixdorf Computer AG and TELES GmbH, Berlin (Elk 1.2 has been written
 * by Oliver Laumann for TELES Telematic Services, Berlin, in a joint project
 * between TELES and Nixdorf Microprocessor Engineering, Berlin).
 *
 * Oliver Laumann, TELES GmbH, Nixdorf Computer AG and Sam Hocevar, as co-
 * owners or individual owners of copyright in this software, grant to any
 * person or company a worldwide, royalty free, license to
 *
 *    i) copy this software,
 *   ii) prepare derivative works based on this software,
 *  iii) distribute copies of this software or derivative works,
 *   iv) perform this software, or
 *    v) display this software,
 *
 * provided that this notice is not removed and that neither Oliver Laumann
 * nor Teles nor Nixdorf are deemed to have made any representations as to
 * the suitability of this software for any purpose nor are held responsible
 * for any defects of this software.
 *
 * THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
 */

#include "xlib.h"

#define XTSTRINGDEFINES

#define Object FOO
#  include <X11/Intrinsic.h>
#  include <X11/Core.h>
#  include <X11/StringDefs.h>
#  include <X11/Composite.h>
#undef Object

#include <stdarg.h>

#if XtSpecificationRelease < 4
 #error "Xt Release 3 or earlier no longer supported"
#endif

#if XtSpecificationRelease >= 5
#  define XT_RELEASE_5_OR_LATER
#endif

#if XtSpecificationRelease >= 6
#  define XT_RELEASE_6_OR_LATER
#endif

typedef XtArgVal (*PFS2X) (Object);
typedef Object (*PFX2S) (XtArgVal);

extern int T_Context;
extern int T_Class;
extern int T_Widget;
extern int T_Identifier;

#define CONTEXT(x)      ((struct S_Context *)POINTER(x))
#define CLASS(x)        ((struct S_Class *)POINTER(x))
#define WIDGET(x)       ((struct S_Widget *)POINTER(x))
#define IDENTIFIER(x)   ((struct S_Identifier *)POINTER(x))

struct S_Context {
    Object tag;
    XtAppContext context;
    char free;
};

struct S_Class {
    Object tag;
    WidgetClass wclass;
    char *name;
};

struct S_Widget {
    Object tag;
    Widget widget;
    char free;
};

struct S_Identifier {
    Object tag;
    char type;
    XtPointer val;
    int num;
    char free;
};

extern WidgetClass widgetClass;    /* The `core' class */
extern WidgetClass constraintWidgetClass;
extern WidgetClass compositeWidgetClass;

C_LINKAGE_BEGIN

extern void Check_Callback_List (Object);
extern void Check_Context (Object);
extern void Check_Widget (Object);
extern void Check_Widget_Class (Object, WidgetClass);
extern void Convert_Args (int, Object*, ArgList, Widget, WidgetClass);
extern void Define_Callback (char*, char*, int);
extern void Define_Class (char *, WidgetClass, XtResourceList, int);
extern void Define_Converter_To_C (char*, PFS2X);
extern void Define_Converter_To_Scheme (char*, PFX2S);
extern void Fiddle_Destroy_Callback (Widget);
extern void Fill_Callbacks (Object, XtCallbackList, int, PFX2S);
extern void Free_Actions (XtAppContext);
extern void Get_All_Resources
    (int, Widget, WidgetClass, XtResource**, int*, int*);
extern void Make_Resource_Name (char*);
extern int Match_Xt_Obj (Object, va_list);
extern Object Get_Callbackfun (XtPointer);
extern Object Get_Function (int);
extern Object Get_Resources
    (WidgetClass, void (*)(WidgetClass, XtResourceList*, Cardinal*), int);
extern Object Get_Values (Widget, int, Object*);
extern Object Make_Class (WidgetClass, char*);
extern Object Make_Context (XtAppContext);
extern Object Make_Context_Foreign (XtAppContext);
extern Object Make_Id (int, XtPointer, int);
extern Object Make_Widget (Widget);
extern Object Make_Widget_Foreign (Widget);
extern Object Make_Widget_Class (WidgetClass);
extern PFX2S Find_Callback_Converter (WidgetClass, char*, Object);
extern PFX2S Find_Converter_To_Scheme (char*);
extern PFS2X Find_Converter_To_C (char*);
extern int Register_Function (Object);
extern void Deregister_Function (int);
extern XtAccelerators Get_Accelerators (Object);
extern XtTranslations Get_Translations (Object);
extern XtPointer Use_Id (Object, int);
extern void Xt_Warning (char*);
extern char *Class_Name (WidgetClass);
extern void Action_Hook (Widget, XtPointer, char*, XEvent*, char**, int*);
extern void Destroy_Callback_Proc (Widget, XtPointer, XtPointer);
extern void Get_Sub_Resource_List (WidgetClass, XtResourceList*, Cardinal*);
extern Object Xt_Class_Name (WidgetClass);
extern Object Get_Selection_CB (void *); /* xm/support.d */
extern Object Get_Any_CB (void *); /* xm/support.d */

extern void elk_init_xt_accelerator ();
extern void elk_init_xt_action ();
extern void elk_init_xt_callback ();
extern void elk_init_xt_class ();
extern void elk_init_xt_context ();
extern void elk_init_xt_function ();
extern void elk_init_xt_identifier ();
extern void elk_init_xt_popup ();
extern void elk_init_xt_translation ();
extern void elk_init_xt_widget ();
extern void elk_init_xt_error ();
extern void elk_init_xt_init ();

C_LINKAGE_END

#define Encode_Arglist(ac,av,to,widget,class) {\
    Alloca (to, Arg*, ((ac)+1)/2 * sizeof (Arg));\
    Convert_Args (ac, av, to, widget, class);\
}

#define streq(a,b) (strcmp ((a), (b)) == 0)