This file is indexed.

/usr/include/ug/dlmgr.h is in libdune-uggrid-dev 2.5.0-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
// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
// vi: set et ts=4 sw=2 sts=2:
/*! \file dlmgr.h
 * \ingroup gm
 */
/****************************************************************************/
/*                                                                          */
/* File:      dlmgr.h                                                       */
/*                                                                          */
/* Purpose:   defines for dynamic linked list management                    */
/*                                                                          */
/* Author:    Stefan Lang                                                   */
/*            Institut fuer Computeranwendungen III                         */
/*            Universitaet Stuttgart                                        */
/*            Pfaffenwaldring 27                                            */
/*            70550 Stuttgart                                               */
/*            email: ug@ica3.uni-stuttgart.de                               */
/*                                                                          */
/* History:   960915 sl  start of dynamic list management                   */
/*                                                                          */
/* Remarks:                                                                 */
/*            Management of dynamic linked lists, which consist of          */
/*            several parts. An object can be mapped to a part of the list  */
/*            by its priority using PRIO2LISTPART().                        */
/*            The formulation on object basis allows for management of      */
/*            elements, nodes, vectors and vertices.                        */
/*            A list has the form:                                          */
/*                p0first-p0last->p1first-p1last->...->pnfirst..pnlast      */
/*            where each part p0,p1,..,pn is limited by two pointers,       */
/*            pxfirst and pxlast, x=0..n. The part numbers are ordered      */
/*            increasingly and connected in a manner that one can run       */
/*            through the whole list in increasing order (SUCC) but only    */
/*            through one listpart in decreasing order (PRED).              */
/*            Linking/Unlinking of objects in a list part is done in a      */
/*            way that preserves these conventions.                         */
/*                                                                          */
/****************************************************************************/


#ifndef __DLMGR_H__

#include "gm.h"
#include "misc.h"
#include "debug.h"

#ifdef ModelP
#include "parallel.h"
#endif

#include "namespace.h"

START_UGDIM_NAMESPACE

#ifdef ModelP

#define FIRSTPART_OF_LIST               0
#define LASTPART_OF_LIST(OTYPE) ((CAT(OTYPE,_LISTPARTS)) -1)

/* define DDD_HDR macros */
#define HDRELEMENT      PARHDRE
#define HDRNODE         PARHDR
#define HDRVERTEX       PARHDRV
#define HDRVECTOR       PARHDR
#define HDR(OTYPE)      CAT(HDR,OTYPE)

/* define macros for formatted output */
#define ELEMENTFMT      EID_
#define NODEFMT         ID_
#define VERTEXFMT       VID_
#define VECTORFMT       VINDEX_
#define FORMAT(t)       CAT(t,FMT)

#endif

/* define Object COUNTER macros */
#define COUNTELEMENT    NT
#define COUNTNODE               NN
#define COUNTVERTEX             NV
#define COUNTVECTOR             NVEC

/* define Object COUNTER macros for priorities */
#define PRIOCOUNTELEMENT        NT_PRIO
#define PRIOCOUNTNODE           NN_PRIO
#define PRIOCOUNTVERTEX         NV_PRIO
#define PRIOCOUNTVECTOR         NVEC_PRIO

/* define header prototypes */
#define UNLINK(OTYPE)    void CAT(GRID_UNLINK_, OTYPE ) (GRID *Grid, OTYPE *Object)
#define LINK(OTYPE)      void CAT(GRID_LINK_,OTYPE) (GRID *Grid, OTYPE *Object, INT Prio)
#define LINKX(OTYPE)     void CAT(GRID_LINKX_,OTYPE) (GRID *Grid, OTYPE *Object, INT Prio, OTYPE *After)
#define INIT(OTYPE)      void CAT3(GRID_INIT_,OTYPE,_LIST(GRID *Grid))
#define CHECK(OTYPE)     void CAT3(GRID_CHECK_,OTYPE,_LIST(GRID *Grid))
#ifdef ModelP
#define PRINT_LIST(OTYPE) void CAT(PRINT_LIST_STARTS_,OTYPE) (GRID *Grid, INT prios)
#endif

LINK(ELEMENT);
LINKX(ELEMENT);
UNLINK(ELEMENT);
INIT(ELEMENT);
CHECK(ELEMENT);

LINK(NODE);
LINKX(NODE);
UNLINK(NODE);
INIT(NODE);
CHECK(NODE);

LINK(VERTEX);
LINKX(VERTEX);
UNLINK(VERTEX);
INIT(VERTEX);
CHECK(VERTEX);

LINK(VECTOR);
LINKX(VECTOR);
UNLINK(VECTOR);
INIT(VECTOR);
CHECK(VECTOR);

#ifdef ModelP
PRINT_LIST(ELEMENT);
PRINT_LIST(NODE);
PRINT_LIST(VERTEX);
PRINT_LIST(VECTOR);
#endif

END_UGDIM_NAMESPACE

#endif /* __DLMGR_H__ */