This file is indexed.

/usr/include/xview/cursor.h is in xviewg-dev 3.2p1.4-28.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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
/*	@(#)cursor.h 20.36 93/06/28 SMI	*/

/*
 *	(c) Copyright 1989 Sun Microsystems, Inc. Sun design patents 
 *	pending in the U.S. and foreign countries. See LEGAL NOTICE 
 *	file for terms of the license.
 */

#ifndef  xview_cursor_DEFINED
#define  xview_cursor_DEFINED

/*
 ***********************************************************************
 *			Include Files
 ***********************************************************************
 */

#include <stdio.h>
#include <xview/generic.h>
#include <xview/pkg.h>
#include <sys/types.h>
#include <pixrect/pixrect.h>

#ifdef __STDC__ 
#ifndef CAT
#define CAT(a,b)        a ## b 
#endif 
#endif
#include <pixrect/memvar.h>

#include <xview/rect.h>

/*
 ***********************************************************************
 *			Definitions and Macros
 ***********************************************************************
 */

#define CURSOR				&xv_cursor_pkg

#define	CURSOR_ATTR(type, ordinal)	ATTR(ATTR_PKG_CURSOR, type, ordinal)

/*
 * For Sunview 1 compatibility
 */
#define CURSOR_MAX_IMAGE_BYTES		32	/* max. # of image bytes */
#define CURSOR_MAX_IMAGE_WORDS		16

#define CUR_MAXIMAGEBYTES		CURSOR_MAX_IMAGE_BYTES
#define CUR_MAXIMAGEWORDS		CURSOR_MAX_IMAGE_WORDS

#define NOFONTCURSOR			-1

/*
 * OPEN LOOK Cursor character definitions
 *
 *	Those marked with "--" are not official OPEN LOOK cursors and should
 *	not be used if possible.
 */
#define OLC_BASIC_PTR           	0	/* pointer */
#define OLC_BASIC_MASK_PTR      	1
#define OLC_MOVE_PTR            	2	/* move */
#define OLC_MOVE_MASK_PTR       	3
#define OLC_COPY_PTR            	4	/* copy */
#define OLC_COPY_MASK_PTR       	5
#define OLC_BUSY_PTR            	6	/* busy */
#define OLC_BUSY_MASK_PTR       	7
#define OLC_STOP_PTR            	8 	/* -- stop */
#define OLC_STOP_MASK_PTR       	9
#define OLC_PANNING_PTR         	10	/* pan */
#define OLC_PANNING_MASK_PTR    	11
#define OLC_NAVIGATION_LEVEL_PTR        12	/* navigation */
#define OLC_NAVIGATION_LEVEL_MASK_PTR	13
/*
 * WARNING:  The following glyphs are not in the MIT X11 R4 distribution.
 */
#define OLC_BLANK_14 			14	/* -- blank at index 14 */
#define OLC_BLANK_15 			15	/* -- blank at index 15 */
#define OLC_OTHER_PTR 			16	/* -- another basic pointer */
#define OLC_OTHER_MASK_PTR 		17	
#define OLC_RESIZE 			18	/* resize bullseye */
#define OLC_RESIZE_MASK			19	
#define OLC_RIGHT_ARROW 		20	/* -- right arrow */
#define OLC_RIGHT_ARROW_MASK		21	
#define OLC_PLUS 			22	/* -- plus sign */
#define OLC_PLUS_MASK			23	
#define OLC_MULTIPLY 			24	/* -- multiply sign */
#define OLC_MULTIPLY_MASK		25	
#define OLC_HOURGLASS 			26	/* -- hourglass */
#define OLC_HOURGLASS_MASK		27	
#define OLC_DOC 			28	/* doc = document */
#define OLC_DOC_MASK			29	
#define OLC_DOCS			30	/* docs = document stack */
#define OLC_DOCS_MASK			31	
#define OLC_DROP			32	/* drop = drop target */
#define OLC_DROP_MASK			33	
#define OLC_DROP_STEM			34	/* drop with stem */
#define OLC_DROP_STEM_MASK		35	
#define OLC_COPY			36	/* pointer + copy */
#define OLC_COPY_MASK			37	
#define OLC_COPY_EDGE			38	/* copy = copy edge */
#define OLC_COPY_EDGE_MASK		39	
#define OLC_DOC_COPY			40	/* doc + copy */
#define OLC_DOC_COPY_MASK		41	
#define OLC_DOC_COPY_DRAG 		42	/* doc + copy + pointer */
#define OLC_DOC_COPY_DRAG_MASK 		43
#define OLC_DOC_COPY_DROP		44	/* doc + copy + drop */
#define OLC_DOC_COPY_DROP_MASK		45
#define OLC_DOC_COPY_NODROP		46	/* doc + copy + nodrop */
#define OLC_DOC_COPY_NODROP_MASK	47
#define OLC_DOCS_COPY			48	/* docs + copy */
#define OLC_DOCS_COPY_MASK		49	
#define OLC_DOCS_COPY_DRAG 		50	/* docs + copy + pointer */
#define OLC_DOCS_COPY_DRAG_MASK 	51
#define OLC_DOCS_COPY_DROP		52	/* docs + copy + drop */
#define OLC_DOCS_COPY_DROP_MASK		53
#define OLC_DOCS_COPY_NODROP		54	/* docs + copy + nodrop */
#define OLC_DOCS_COPY_NODROP_MASK	55
#define OLC_MOVE			56	/* pointer + move */
#define OLC_MOVE_MASK			57	
#define OLC_MOVE_EDGE			58	/* move = move edge */
#define OLC_MOVE_EDGE_MASK		59	
#define OLC_DOC_MOVE			60	/* doc + move */
#define OLC_DOC_MOVE_MASK		61	
#define OLC_DOC_MOVE_DRAG 		62	/* doc + move + pointer */
#define OLC_DOC_MOVE_DRAG_MASK 		63
#define OLC_DOC_MOVE_DROP		64	/* doc + move + drop */
#define OLC_DOC_MOVE_DROP_MASK		65
#define OLC_DOC_MOVE_NODROP		66	/* doc + move + nodrop */
#define OLC_DOC_MOVE_NODROP_MASK	67
#define OLC_DOCS_MOVE			68	/* docs + move */
#define OLC_DOCS_MOVE_MASK		69	
#define OLC_DOCS_MOVE_DRAG 		70	/* docs + move + pointer */
#define OLC_DOCS_MOVE_DRAG_MASK 	71
#define OLC_DOCS_MOVE_DROP		72	/* docs + move + drop */
#define OLC_DOCS_MOVE_DROP_MASK		73
#define OLC_DOCS_MOVE_NODROP		74	/* docs + move + nodrop */
#define OLC_DOCS_MOVE_NODROP_MASK	75
#define OLC_NODROP			76	/* nodrop */
#define OLC_NODROP_MASK			77
#define OLC_NODROP_STEM			78	/* nodrop with stem */
#define OLC_NODROP_STEM_MASK		79
#define OLC_TEXT_COPY			80	/* text copy */
#define OLC_TEXT_COPY_MASK		81
#define OLC_TEXT_COPY_DRAG		82	/* text copy + pointer */
#define OLC_TEXT_COPY_MOVE_MASK		83
#define OLC_TEXT_COPY_DROP		84	/* text copy + drop */
#define OLC_TEXT_COPY_DROP_MASK		85
#define OLC_TEXT_COPY_NODROP		86	/* text copy + nodrop */
#define OLC_TEXT_COPY_NODROP_MASK	87
#define OLC_TEXT_MOVE			88	/* text move */
#define OLC_TEXT_MOVE_MASK		89
#define OLC_TEXT_MOVE_DRAG		90	/* text move + pointer */
#define OLC_TEXT_MOVE_MOVE_MASK		91
#define OLC_TEXT_MOVE_DROP		92	/* text move + drop */
#define OLC_TEXT_MOVE_DROP_MASK		93
#define OLC_TEXT_MOVE_NODROP		94	/* text move + nodrop */
#define OLC_TEXT_MOVE_NODROP_MASK	95
#define OLC_TEXT_COPY_INSERT		96	/* text copy + insert */
#define OLC_TEXT_COPY_INSERT_MASK	97
#define OLC_TEXT_MOVE_INSERT		98	/* text move + insert */
#define OLC_TEXT_MOVE_INSERT_MASK	99
#define OLC_DATA_COPY_DROP		100	/* data copy + drop */
#define OLC_DATA_COPY_DROP_MASK		101
#define OLC_DATA_COPY_INSERT		102	/* data copy + insert */
#define OLC_DATA_COPY_INSERT_MASK	103
#define OLC_DATA_COPY_NODROP		104	/* data copy + nodrop */
#define OLC_DATA_COPY_NODROP_MASK	105
#define OLC_DATA_MOVE_DROP		106	/* data move + drop */
#define OLC_DATA_MOVE_DROP_MASK		107
#define OLC_DATA_MOVE_INSERT		108	/* data move + insert */
#define OLC_DATA_MOVE_INSERT_MASK	109
#define OLC_DATA_MOVE_NODROP		110	/* data move + nodrop */
#define OLC_DATA_MOVE_NODROP_MASK	111
#define OLC_INSERT			112	/* insert = insert target */
#define OLC_INSERT_MASK			113	
#define OLC_INSERT_STEM			114	/* insert with stem */
#define OLC_INSERT_STEM_MASK		115	
#define OLC_DATA_MOVE 			116	/* data move */
#define OLC_DATA_MOVE_MASK		117	
#define OLC_DATA_COPY			118	/* data copy */
#define OLC_DATA_COPY_MASK		119	
#define OLC_TEXT_POINTER		120	/* text/data pointer */
#define OLC_TEXT_POINTER_MASK		121
#define OLC_FOLDER 			122	/* folder */
#define OLC_FOLDER_MASK			123	
#define OLC_FOLDERS			124	/* folders= folder stack */
#define OLC_FOLDERS_MASK		125	
#define OLC_BLANK_126 			126	/* -- blank at index 126 */
#define OLC_BLANK_127 			127	/* -- blank at index 127 */

/*
 ***********************************************************************
 *		Typedefs, enumerations, and structs
 ***********************************************************************
 */

typedef Xv_opaque	Xv_Cursor;
typedef Xv_opaque	Xv_cursor;

typedef enum {
    CURSOR_NEUTRAL = 0,
    CURSOR_ACCEPT = 1,
    CURSOR_REJECT = 2
} Cursor_drag_state;

typedef enum {
    CURSOR_MOVE = 0,
    CURSOR_DUPLICATE = 1
} Cursor_drag_type;

typedef enum {
	/*
 	 * Public Attributes 
 	 */
    CURSOR_BACKGROUND_COLOR	= CURSOR_ATTR(ATTR_SINGLE_COLOR_PTR,    27),
    CURSOR_DRAG_STATE		= CURSOR_ATTR(ATTR_ENUM,		2),
    CURSOR_DRAG_TYPE		= CURSOR_ATTR(ATTR_ENUM,		3),
    CURSOR_FOREGROUND_COLOR	= CURSOR_ATTR(ATTR_SINGLE_COLOR_PTR,    26),
    CURSOR_IMAGE		= CURSOR_ATTR(ATTR_PIXRECT_PTR,	  	1),
    CURSOR_MASK_CHAR		= CURSOR_ATTR(ATTR_INT,		  	5),
    CURSOR_OP			= CURSOR_ATTR(ATTR_INT,		 	10),
    CURSOR_SRC_CHAR		= CURSOR_ATTR(ATTR_INT,		 	15),
    CURSOR_STRING		= CURSOR_ATTR(ATTR_STRING,		16),
#ifdef OW_I18N
    CURSOR_STRING_WCS		= CURSOR_ATTR(ATTR_WSTRING,	 	17),
#endif
    CURSOR_XHOT			= CURSOR_ATTR(ATTR_INT,		 	20),
    CURSOR_YHOT			= CURSOR_ATTR(ATTR_INT,		 	25),
	/*
	 * OPEN LOOK cursors.  Used as index to XV_KEY_DATA on server.
	 */
    CURSOR_BASIC_PTR		= CURSOR_ATTR(ATTR_OPAQUE,		30),
    CURSOR_MOVE_PTR		= CURSOR_ATTR(ATTR_OPAQUE,		35),
    CURSOR_COPY_PTR		= CURSOR_ATTR(ATTR_OPAQUE,	 	40),
    CURSOR_BUSY_PTR		= CURSOR_ATTR(ATTR_OPAQUE,		45),
    CURSOR_PANNING_PTR		= CURSOR_ATTR(ATTR_OPAQUE,		50),
    CURSOR_NAVIGATION_LEVEL_PTR	= CURSOR_ATTR(ATTR_OPAQUE,		55),
    CURSOR_STOP_PTR		= CURSOR_ATTR(ATTR_OPAQUE,		60),
    CURSOR_QUESTION_MARK_PTR	= CURSOR_ATTR(ATTR_OPAQUE,		65)
} Cursor_attribute;
#define CURSOR_SHOW_CURSOR		XV_SHOW

typedef struct {
	Xv_generic_struct	parent_data;
	Xv_opaque		private_data;
}   Xv_cursor_struct;


/*
 ***********************************************************************
 *			Globals
 ***********************************************************************
 */

extern Xv_pkg		xv_cursor_pkg;

/*
 * Public Functions 
 */

EXTERN_FUNCTION (void		cursor_set_cursor, (Xv_object window, Xv_Cursor cursor));

/*
 * For Sunview 1 compatibility 
 */
EXTERN_FUNCTION (Xv_Cursor cursor_create, (Attr_attribute attr1, DOTDOTDOT));
EXTERN_FUNCTION (void		cursor_destroy, (Xv_Cursor cursor));
EXTERN_FUNCTION (Xv_Cursor	cursor_copy, (Xv_Cursor cursor));
EXTERN_FUNCTION (Xv_opaque	cursor_get, (Xv_Cursor cursor, Cursor_attribute  attr));
EXTERN_FUNCTION (int		cursor_set, (Xv_Cursor cursor, DOTDOTDOT));

#endif	/* xview_cursor_DEFINED */