DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c68fe15a81fc)

VCS Links

Line Code
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
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef NSSBASET_H
#define NSSBASET_H

/*
/*
 * nssbaset.h
 *
 * This file contains the most low-level, fundamental public types.
 */


#include "nspr.h"
#include "nssilock.h"

/*
 * NSS_EXTERN, NSS_IMPLEMENT, NSS_EXTERN_DATA, NSS_IMPLEMENT_DATA
 * NSS_EXTERN, NSS_IMPLEMENT, NSS_EXTERN_DATA, NSS_IMPLEMENT_DATA
 *
 * NSS has its own versions of these NSPR macros, in a form which
 * does not confuse ctags and other related utilities.  NSPR
 * defines these macros to take the type as an argument, because
 * of certain OS requirements on platforms not supported by NSS.
 */
 */

#define DUMMY /* dummy */
#define NSS_EXTERN extern
#define NSS_EXTERN_DATA extern
#define NSS_IMPLEMENT
#define NSS_IMPLEMENT
#define NSS_IMPLEMENT_DATA

PR_BEGIN_EXTERN_C

/*
 * NSSError
 *
 *
 * Calls to NSS routines may result in one or more errors being placed
 * on the calling thread's "error stack."  Every possible error that
 * may be returned from a function is declared where the function is
 * prototyped.  All errors are of the following type.
 */
 */

typedef PRInt32 NSSError;

/*
 * NSSArena
 * NSSArena
 *
 * Arenas are logical sets of heap memory, from which memory may be
 * allocated.  When an arena is destroyed, all memory allocated within
 * that arena is implicitly freed.  These arenas are thread-safe:
 * an arena pointer may be used by multiple threads simultaneously.
 * However, as they are not backed by shared memory, they may only be
 * used within one process.
 * used within one process.
 */

struct NSSArenaStr;
typedef struct NSSArenaStr NSSArena;


/*
 * NSSItem
 *
 * This is the basic type used to refer to an unconstrained datum of
 * arbitrary size.
 * arbitrary size.
 */

struct NSSItemStr {
    void *data;
    PRUint32 size;
    PRUint32 size;
};
typedef struct NSSItemStr NSSItem;

/*
 * NSSBER
 * NSSBER
 *
 * Data packed according to the Basic Encoding Rules of ASN.1.
 */
 */


typedef NSSItem NSSBER;

/*
/*
 * NSSDER
 *
 * Data packed according to the Distinguished Encoding Rules of ASN.1;
 * this form is also known as the Canonical Encoding Rules form (CER).
 */
 */

typedef NSSBER NSSDER;

/*
/*
 * NSSBitString
 *
 * Some ASN.1 types use "bit strings," which are passed around as
 * octet strings but whose length is counted in bits.  We use this
 * typedef of NSSItem to point out the occasions when the length
 * typedef of NSSItem to point out the occasions when the length
 * is counted in bits, not octets.
 */

typedef NSSItem NSSBitString;


/*
 * NSSUTF8
 *
 * Character strings encoded in UTF-8, as defined by RFC 2279.
 */
 */

typedef char NSSUTF8;

/*
 * NSSASCII7
 *
 * Character strings guaranteed to be 7-bit ASCII.
 * Character strings guaranteed to be 7-bit ASCII.
 */

typedef char NSSASCII7;

PR_END_EXTERN_C
PR_END_EXTERN_C

#endif /* NSSBASET_H */