This file is indexed.

/usr/include/dcmtk/dcmpstat/dvpsfs.h is in libdcmtk-dev 3.6.1~20150924-5.

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
/*
 *
 *  Copyright (C) 1998-2012, OFFIS e.V.
 *  All rights reserved.  See COPYRIGHT file for details.
 *
 *  This software and supporting documentation were developed by
 *
 *    OFFIS e.V.
 *    R&D Division Health
 *    Escherweg 2
 *    D-26121 Oldenburg, Germany
 *
 *
 *  Module: dcmpstat
 *
 *  Author: Marco Eichelberg
 *
 *  Purpose:
 *    classes: DVPSFilmSession
 *
 */

#ifndef DVPSFS_H
#define DVPSFS_H

#include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
#include "dcmtk/dcmpstat/dvpstyp.h"
#include "dcmtk/dcmpstat/dpdefine.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmnet/dimse.h"

class DVConfiguration;
class DVPSPresentationLUT_PList;
class DVPSStoredPrint_PList;
class DVPSStoredPrint;

/** a basic film session object managed by a Print SCP.
 */
class DCMTK_DCMPSTAT_EXPORT DVPSFilmSession
{
public:

  /** constructor
   *  @param illumin default Illumination setting
   *  @param reflection default Reflected Ambient Light setting
   */
  DVPSFilmSession(Uint16 illumin, Uint16 reflection);
  
  /// copy constructor
  DVPSFilmSession(const DVPSFilmSession& copy);

  /** clone method.
   *  @return a pointer to a new DVPSFilmSession object containing
   *  a copy of this object.
   */
  DVPSFilmSession *clone() { return new DVPSFilmSession(*this); }

  /// destructor
  virtual ~DVPSFilmSession();

  /** performs a Print SCP Basic Film Session N-CREATE operation on a newly 
   *  created instance of this class. The results of the operation are 
   *  stored in the objects passed as rsp and rspDataset.
   *  @param cfg config file facility
   *  @param cfgname symbolic printer name in config file
   *  @param rqDataset N-CREATE request dataset, may be NULL
   *  @param rsp N-CREATE response message
   *  @param rspDataset N-CREATE response dataset passed back in this parameter
   *  @param peerae application entity title of the print SCU we're 
   *    communicating with. Used to create default values for ownerID
   *    and filmSessionLabel.
   *  @param presentationLUTnegotiated 
   *    OFTrue if support for the Presentation LUT SOP class
   *    has been negotiated at association negotiation and is supported on
   *    Basic Film Session level
   *  @param globalPresentationLUTList
   *    list of presentation LUTs managed by the Print SCP
   *  @return OFTrue if N-CREATE was successful, OFFalse otherwise.
   */
  OFBool printSCPCreate(
    DVConfiguration& cfg, 
    const char *cfgname, 
    DcmDataset *rqDataset, 
    T_DIMSE_Message& rsp, 
    DcmDataset *& rspDataset, 
    const char *peerae,
    OFBool presentationLUTnegotiated,
    DVPSPresentationLUT_PList& globalPresentationLUTList);

  /** performs a Print SCP Basic Film Session N-SET operation on an instance 
   *  of this class. The results of the N-SET operation are stored in the 
   *  objects passed as rsp and rspDataset.
   *  @param cfg config file facility
   *  @param cfgname symbolic printer name in config file
   *  @param rqDataset N-SET request dataset
   *  @param rsp N-SET response message
   *  @param rspDataset N-SET response dataset passed back in this parameter
   *  @param presentationLUTnegotiated 
   *    OFTrue if support for the Presentation LUT SOP class
   *    has been negotiated at association negotiation and is supported on
   *    Basic Film Session level
   *  @param globalPresentationLUTList
   *    list of presentation LUTs managed by the Print SCP
   *  @param basicFilmBoxList list of basic film boxes. Presentation LUT
   *    settings are copied to all film boxes.
   *  @return OFTrue if N-SET was successful, OFFalse otherwise.
   */    
  OFBool printSCPSet(
    DVConfiguration& cfg, 
    const char *cfgname, 
    DcmDataset *rqDataset, 
    T_DIMSE_Message& rsp, 
    DcmDataset *& rspDataset,
    OFBool presentationLUTnegotiated,
    DVPSPresentationLUT_PList& globalPresentationLUTList,
    DVPSStoredPrint_PList& basicFilmBoxList);

  /** compares the SOP instance UID with the given UID string.
   *  @return OFTrue if UIDs are equal, OFFalse otherwise.
   */
  OFBool isInstance(const char *uid);
  
  /** returns the SOP instance UID of the basic film session.
   *  @return SOP instance UID
   */
  const char *getUID() { return sopInstanceUID.c_str(); }

  /** copies the film box Presentation LUT settings into the
   *  stored print object passed by reference.
   *  @param sp stored print object
   */
  void copyPresentationLUTSettings(DVPSStoredPrint& sp);
  
private:

  /// private undefined assignment operator
  DVPSFilmSession& operator=(const DVPSFilmSession&);

  /** writes a Referenced Presentation LUT SQ, Illumination and
   *  reflected ambient light to the given dataset.
   *  Helper function used when creating Basic Film Session or
   *  Basic Film Box.
   *  @param dset the dataset to which the data is written
   *  @return EC_Normal if successful, an error code otherwise.
   */
  OFCondition addPresentationLUTReference(DcmItem& dset);

  /// SOP instance UID of basic film session object
  OFString                 sopInstanceUID;
  /// VR=IS, VM=1
  DcmIntegerString         numberOfCopies;
  /// VR=CS, VM=1
  DcmCodeString            printPriority;
  /// VR=CS, VM=1
  DcmCodeString            mediumType;
  /// VR=CS, VM=1
  DcmCodeString            filmDestination;
  /// VR=LO, VM=1
  DcmLongString            filmSessionLabel;
  /// VR=SH, VM=1
  DcmShortString           ownerID;  

  /// VR=US, VM=1, Type 2c required if presentation SOP class present
  DcmUnsignedShort         illumination;
  /// VR=US, VM=1, Type 2c required if presentation SOP class present
  DcmUnsignedShort         reflectedAmbientLight;
  /// the ReferencedPresentationLUTSequence is only created/read on the fly
  DcmUniqueIdentifier      referencedPresentationLUTInstanceUID;

  /** The Print SCP can be configured to enforce a rule requiring that the 
   *  number of entries in a Presentation LUT matches the bit depth of the 
   *  image pixel data. This member variable describes the type of the 
   *  current presentation LUT (if any).
   */
  DVPSPrintPresentationLUTAlignment referencedPresentationLUTAlignment;

};

#endif