This file is indexed.

/usr/include/geomview/private/handleP.h is in libgeomview-dev 1.9.4-3.

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
/* Copyright (C) 1992-1998 The Geometry Center
 * Copyright (C) 1998-2000 Stuart Levy, Tamara Munzner, Mark Phillips
 *
 * This file is part of Geomview.
 * 
 * Geomview is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 * 
 * Geomview is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with Geomview; see the file COPYING.  If not, write
 * to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139,
 * USA, or visit http://www.gnu.org.
 */


/* Authors: Charlie Gunn, Stuart Levy, Tamara Munzner, Mark Phillips */

#ifndef _HANDLEPOOLP_
#define _HANDLEPOOLP_
/*
 * Communications -- Private definitions for Pools and Handles.
 */
#include <sys/time.h>
#include "ooglutil.h"
#include "streampool.h"
/*#include "sm.h"*/

#define	HANDLEMAGIC	OOGLMagic('h',1)

typedef struct HRef {
	DblListNode node;
	Handle	**hp;
	Ref	*parentobj;
	void	*info;
	void	(*update) P((Handle **, Ref *, void *));
} HRef;

struct Handle {
	REFERENCEFIELDS;
	HandleOps *ops;		/* Comm-related operations on our datatype */
	char	*name;		/* Char-string name */
	Ref	*object;	/* Current object value if any */
	DblListNode opsnode;    /* node in list of all handles with given ops */
	DblListNode poolnode;   /* node in list of all handles with given pool*/
	DblListNode objnode;    /* node in list of all handles pointing to a
				   given object */
	Pool	*whence;	/* Where did this handle's value come from? */

	DblListNode refs;       /* list of references to this Handle,
				 * which we update when the Handle's
				 * object changes.
				 */
	bool	permanent;	/* Retain even when last reference goes away? */
	bool    obj_saved;      /* Set during saving of objects when
				 * the handle has been dumped as
				 * reference to indicate that its
				 * objects also already has been
				 * saved.
				 */
	/*
	 * Pool-type-specific state
	 */
#if 0
    	SMSym	*sym;		/* Address of our SM symbol */
    	int	version;	/* Version number of shared-memory symbol */
    	Pool	*smpool;	/* Pool in which our symbol lies */
    	Handle	*samepool;	/* Link in list of handles on this pool */
#endif
};

#define	P_SM	1
#define	P_STREAM 2

struct Pool {
	DblListNode node;       /* Link in list of all Pools (or free pools) */
	int	type;		/* P_SM or P_STREAM */
	char	*poolname;	/* Name of this pool: typically a filename */
	DblListNode handles;	/* All handles using this Pool */
	HandleOps *ops;		/* I/O operations */

	long	await;		/* Unix time until which we should wait */
	int	(*resyncing)();	/* We're resyncing, call this ... if non-NULL */

	/*
	 * State for P_STREAM pools.
	 */

	char	otype;		/* PO_HANDLES, PO_DATA, PO_ALL */
	char	mode;		/* read/write status: 0, 1, 2 as with open() */
	char	seekable;	/* 1 for plain file, 0 for pipe/socket */
	char	softEOF;	/* Can we hope to read more after EOF?
				 * 1 for tty or named pipe, 0 otherwise.
				 */
	IOBFILE	*inf;
	int     infd;
	FILE	*outf;

	short	flags;		/* Miscellaneous internal flags: */
#define	  PF_TEMP	1	/*   "Temporary pool" -- not in AllPools list */
#define	  PF_ANY	2	/*   any objects read from this Pool? */
#define	  PF_REREAD	4	/*   actually re-read on "<" */
#define	  PF_CLOSING	0x10	/* Internal flag to avoid PoolClose() recursion */
#define	  PF_ASLEEP	0x20	/* PoolSleep() called on this Pool. */
#define	  PF_DELETED	0x40	/* Pool is on free list - don't touch! */
#define	  PF_NOPREFETCH	0x80	/* Don't let PoolIn() prefetch the first char */

	short	level;		/* {} Bracket counter */

	long	inf_mtime;	/* modification time of p->inf file */
				/* A second explicit reference to the same
				 * file can cause it to be re-read if it's
				 * been changed since last time, or if it's
				 * a stream (not seekable).
				 */

	struct timeval awaken;	/* Resume reading at this time */
	struct timeval timebase; /* Basis for our clock */

	/*
	 * State for P_SM pools.
	 */
#if 0
    	SMRegion *sm;		/* for shared-memory Pools */
#endif

	/*
	 * client data pointer, used by clients for whatever they want
	 */
	void *client_data;

};

#endif /*_HANDLEPOOLP_*/