This file is indexed.

/usr/include/snacc/c++/asn-type.h is in libsnacc-dev 1.3.1-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
// file: .../c++-lib/inc/asn-type.h - Abstract class that all ASN.1 types are derived from
//               Design motivated by ANY type.
//
//               Runtime cost in speed and space for virtual fcns will
//               hopefully not be too bad
//
//               If your ASN.1 code does not use ANY or ANY DEFIND BY
//               types then you could  make the BEnc, BDec and Clone
//               non-virtual in the AsnType to improve performance.
//               (undef SUPPORT_ANY_TYPE)
//
//               NOTE: The virtual encode/decode/print etc fcns
//               could be purely virtual (= 0) creating an abstract class
//               but the ANY handling code needs to instantiate the AsnType
//               base class (via Cloning).   Also it allows for default
//               error reporting for ANY types that have not been
//               instantiated properly.
//
// Copyright (C) 1992 Michael Sample and the University of British Columbia
//
// This library is free software; you can redistribute it and/or
// modify it provided that this copyright/license information is retained
// in original form.
//
// If you modify this file, you must clearly indicate your changes.
//
// This source code 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.
//
// MS 92
//
// $Header: /usr/app/odstb/CVS/snacc/c++-lib/inc/asn-type.h,v 1.6 1997/02/16 20:25:48 rj Exp $
// $Log: asn-type.h,v $
// Revision 1.6  1997/02/16 20:25:48  rj
// check-in of a few cosmetic changes
//
// Revision 1.5  1995/07/24  17:39:00  rj
// _getref() gets an additional optional argument to faciliate the different member access semantics of TclGetVal() and TclSetVal().
//
// _typename() made private, no need to be public.
//
// additional function TclUnsetVal() to delete OPTIONAL members and SEQUENCE OF and SET OF list elements.
//
// #if TCL ... #endif wrapped into #if META ... #endif
//
// getTclPDU() deleted.
//
// changed `_' to `-' in file names.
//
// Revision 1.4  1994/10/08  04:18:10  rj
// code for meta structures added (provides information about the generated code itself).
//
// code for Tcl interface added (makes use of the above mentioned meta code).
//
// virtual inline functions (the destructor, the Clone() function, BEnc(), BDec() and Print()) moved from inc/*.h to src/*.C because g++ turns every one of them into a static non-inline function in every file where the .h file gets included.
//
// made Print() const (and some other, mainly comparison functions).
//
// several `unsigned long int' turned into `size_t'.
//
// Revision 1.3  1994/09/13  14:18:52  rj
// inline functions moved from asn_type.h to asn_type.C.
// functions that are called upon error only don't need to be that fast.
//
// Revision 1.2  1994/08/28  10:00:57  rj
// comment leader fixed.
//
// Revision 1.1  1994/08/28  09:20:44  rj
// first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.

#ifndef _asn_type_h_
#define _asn_type_h_

#ifdef _IBM_ENC_
#include "shmmgr.h"   // Guido Grassel 4.8.93
#endif /* _IBM_ENC_ */

#define SUPPORT_ANY_TYPE

#if TCL
#include <tcl.h>
#undef VOID
#endif

#if META
#include "meta.h"
#endif

#ifndef __IBM_ENC_
class AsnType
#else
class AsnType: public MemMgr   // Guido Grassel, 12.8.93
#endif /* __IBM_ENC_ */
{
public:
  virtual			~AsnType();

#ifdef SUPPORT_ANY_TYPE

  virtual AsnType		*Clone() const;

  virtual void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  virtual AsnLen		BEnc (BUF_TYPE b);

#else

  void				BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env)
									{}
  AsnLen			BEnc (BUF_TYPE b)			{ return 0; }

#endif

  virtual void			Print (std::ostream &) const;

#if META
  static const AsnTypeDesc	_desc;

  virtual const AsnTypeDesc	*_getdesc() const;
  virtual AsnType		*_getref (const char *membername, bool create=false);

private:
  const char			*_typename() const;

#if TCL
public:
  virtual int			TclGetDesc (Tcl_DString *) const;
  virtual int			TclGetVal (Tcl_Interp *) const;
  virtual int			TclSetVal (Tcl_Interp *, const char *val);
  virtual int			TclUnsetVal (Tcl_Interp *, const char *membernames);
#endif // TCL
#endif // META
};

#endif // conditional include