2018-05-04 16:08:28 +02:00
|
|
|
/* 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/. */
|
2015-10-21 05:03:22 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* seccomon.h - common data structures for security libraries
|
|
|
|
*
|
|
|
|
* This file should have lowest-common-denominator datastructures
|
|
|
|
* for security libraries. It should not be dependent on any other
|
|
|
|
* headers, and should not require linking with any libraries.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SECCOMMON_H_
|
|
|
|
#define _SECCOMMON_H_
|
|
|
|
|
|
|
|
#include "utilrename.h"
|
|
|
|
#include "prtypes.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
# define SEC_BEGIN_PROTOS extern "C" {
|
|
|
|
# define SEC_END_PROTOS }
|
|
|
|
#else
|
|
|
|
# define SEC_BEGIN_PROTOS
|
|
|
|
# define SEC_END_PROTOS
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "secport.h"
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
siBuffer = 0,
|
|
|
|
siClearDataBuffer = 1,
|
|
|
|
siCipherDataBuffer = 2,
|
|
|
|
siDERCertBuffer = 3,
|
|
|
|
siEncodedCertBuffer = 4,
|
|
|
|
siDERNameBuffer = 5,
|
|
|
|
siEncodedNameBuffer = 6,
|
|
|
|
siAsciiNameString = 7,
|
|
|
|
siAsciiString = 8,
|
|
|
|
siDEROID = 9,
|
|
|
|
siUnsignedInteger = 10,
|
|
|
|
siUTCTime = 11,
|
|
|
|
siGeneralizedTime = 12,
|
|
|
|
siVisibleString = 13,
|
|
|
|
siUTF8String = 14,
|
|
|
|
siBMPString = 15
|
|
|
|
} SECItemType;
|
|
|
|
|
|
|
|
typedef struct SECItemStr SECItem;
|
|
|
|
|
|
|
|
struct SECItemStr {
|
|
|
|
SECItemType type;
|
|
|
|
unsigned char *data;
|
|
|
|
unsigned int len;
|
|
|
|
};
|
|
|
|
|
2018-05-04 16:08:28 +02:00
|
|
|
typedef struct SECItemArrayStr SECItemArray;
|
|
|
|
|
|
|
|
struct SECItemArrayStr {
|
|
|
|
SECItem *items;
|
|
|
|
unsigned int len;
|
|
|
|
};
|
|
|
|
|
2015-10-21 05:03:22 +02:00
|
|
|
/*
|
|
|
|
** A status code. Status's are used by procedures that return status
|
|
|
|
** values. Again the motivation is so that a compiler can generate
|
|
|
|
** warnings when return values are wrong. Correct testing of status codes:
|
|
|
|
**
|
|
|
|
** SECStatus rv;
|
|
|
|
** rv = some_function (some_argument);
|
|
|
|
** if (rv != SECSuccess)
|
|
|
|
** do_an_error_thing();
|
|
|
|
**
|
|
|
|
*/
|
|
|
|
typedef enum _SECStatus {
|
|
|
|
SECWouldBlock = -2,
|
|
|
|
SECFailure = -1,
|
|
|
|
SECSuccess = 0
|
|
|
|
} SECStatus;
|
|
|
|
|
|
|
|
/*
|
|
|
|
** A comparison code. Used for procedures that return comparision
|
|
|
|
** values. Again the motivation is so that a compiler can generate
|
|
|
|
** warnings when return values are wrong.
|
|
|
|
*/
|
|
|
|
typedef enum _SECComparison {
|
|
|
|
SECLessThan = -1,
|
|
|
|
SECEqual = 0,
|
|
|
|
SECGreaterThan = 1
|
|
|
|
} SECComparison;
|
|
|
|
|
|
|
|
#endif /* _SECCOMMON_H_ */
|