/*
* Copyright (C) 2002-2022 Free Software Foundation, Inc.
*
* This file is part of LIBTASN1.
*
* LIBTASN1 is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* LIBTASN1 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. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with LIBTASN1; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA
*
*/
/**
* SECTION:libtasn1
* @short_description: GNU ASN.1 library
*
* The Libtasn1 library provides Abstract Syntax Notation One (ASN.1, as
* specified by the X.680 ITU-T recommendation) parsing and structures
* management, and Distinguished Encoding Rules (DER, as per X.690)
* encoding and decoding functions.
*/
#ifndef LIBTASN1_H
# define LIBTASN1_H
# ifndef ASN1_API
# if defined ASN1_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
# define ASN1_API __attribute__((__visibility__("default")))
# elif defined ASN1_BUILDING && defined _MSC_VER && ! defined ASN1_STATIC
# define ASN1_API __declspec(dllexport)
# elif defined _MSC_VER && ! defined ASN1_STATIC
# define ASN1_API __declspec(dllimport)
# else
# define ASN1_API
# endif
# endif
# ifdef __GNUC__
# define __LIBTASN1_CONST__ __attribute__((const))
# define __LIBTASN1_PURE__ __attribute__((pure))
# else
# define __LIBTASN1_CONST__
# define __LIBTASN1_PURE__
# endif
# include <sys/types.h>
# include <time.h>
# include <stdio.h> /* for FILE* */
# ifdef __cplusplus
extern "C"
{
# endif
/**
* ASN1_VERSION:
*
* Version of the library as a string.
*/
# define ASN1_VERSION "4.19.0"
/**
* ASN1_VERSION_MAJOR:
*
* Major version number of the library.
*/
# define ASN1_VERSION_MAJOR 4
/**
* ASN1_VERSION_MINOR:
*
* Minor version number of the library.
*/
# define ASN1_VERSION_MINOR 19
/**
* ASN1_VERSION_PATCH:
*
* Patch version number of the library.
*/
# define ASN1_VERSION_PATCH 0
/**
* ASN1_VERSION_NUMBER:
*
* Version number of the library as a number.
*/
# define ASN1_VERSION_NUMBER 0x041300
# if defined __GNUC__ && !defined ASN1_INTERNAL_BUILD
# define _ASN1_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
# if _ASN1_GCC_VERSION >= 30100
# define _ASN1_GCC_ATTR_DEPRECATED __attribute__ ((__deprecated__))
# endif
# endif
# ifndef _ASN1_GCC_ATTR_DEPRECATED
# define _ASN1_GCC_ATTR_DEPRECATED
# endif
/*****************************************/
/* Errors returned by libtasn1 functions */
/*****************************************/
# define ASN1_SUCCESS 0
# define ASN1_FILE_NOT_FOUND 1
# define ASN1_ELEMENT_NOT_FOUND 2
# define ASN1_IDENTIFIER_NOT_FOUND 3
# define ASN1_DER_ERROR 4
# define ASN1_VALUE_NOT_FOUND 5
# define ASN1_GENERIC_ERROR 6
# define ASN1_VALUE_NOT_VALID 7
# define ASN1_TAG_ERROR 8
# define ASN1_TAG_IMPLICIT 9
# define ASN1_ERROR_TYPE_ANY 10
# define ASN1_SYNTAX_ERROR 11
# define ASN1_MEM_ERROR 12
# define ASN1_MEM_ALLOC_ERROR 13
# define ASN1_DER_OVERFLOW 14
# define ASN1_NAME_TOO_LONG 15
# define ASN1_ARRAY_ERROR 16
# define ASN1_ELEMENT_NOT_EMPTY 17
# define ASN1_TIME_ENCODING_ERROR 18
# define ASN1_RECURSION 19
/*************************************/
/* Constants used in asn1_visit_tree */
/*************************************/
# define ASN1_PRINT_NAME 1
# define ASN1_PRINT_NAME_TYPE 2
# define ASN1_PRINT_NAME_TYPE_VALUE 3
# define ASN1_PRINT_ALL 4
/*****************************************/
/* Constants returned by asn1_read_tag */
/*****************************************/
# define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */
# define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */
# define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */
# define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */
# define ASN1_CLASS_STRUCTURED 0x20
/*****************************************/
/* Constants returned by asn1_read_tag */
/*****************************************/
# define ASN1_TAG_BOOLEAN 0x01
# define ASN1_TAG_INTEGER 0x02
# define ASN1_TAG_SEQUENCE 0x10
# define ASN1_TAG_SET 0x11
# define ASN1_TAG_OCTET_STRING 0x04
# define ASN1_TAG_BIT_STRING 0x03
# define ASN1_TAG_UTCTime 0x17
# define ASN1_TAG_GENERALIZEDTime 0x18
# define ASN1_TAG_OBJECT_ID 0x06
# define ASN1_TAG_ENUMERATED 0x0A
# define ASN1_TAG_NULL 0x05
# define ASN1_TAG_GENERALSTRING 0x1B
# define ASN1_TAG_NUMERIC_STRING 0x12
# define ASN1_TAG_IA5_STRING 0x16
# define ASN1_TAG_TELETEX_STRING 0x14
# define ASN1_TAG_PRINTABLE_STRING 0x13
# define ASN1_TAG_UNIVERSAL_STRING 0x1C
# define ASN1_TAG_BMP_STRING 0x1E
# define ASN1_TAG_UTF8_STRING 0x0C
# define ASN1_TAG_VISIBLE_STRING 0x1A
/**
* asn1_node:
*
* Structure definition used for the node of the tree
* that represents an ASN.1 DEFINITION.
*/
typedef struct asn1_node_st asn1_node_st;
typedef asn1_node_st *asn1_node;
typedef const asn1_node_st *asn1_node_const;
/**
* ASN1_MAX_NAME_SIZE:
*
* Maximum number of characters of a name
* inside a file with ASN1 definitions.
*/
# define ASN1_MAX_NAME_SIZE 64
/**
* asn1_static_node:
* @name: Node name
* @type: Node typ
* @value: Node value
*
* For the on-disk format of ASN.1 trees, created by asn1_parser2array().
*/
typedef struct asn1_static_node_st
{
const char *name; /* Node name */
unsigned int type; /* Node type */
const void *value; /* Node value */
} asn1_static_node;
/* List of constants for field type of asn1_static_node */
# define ASN1_ETYPE_INVALID 0
# define ASN1_ETYPE_CONSTANT 1
# define ASN1_ETYPE_IDENTIFIER 2
# define ASN1_ETYPE_INTEGER 3
# define ASN1_ETYPE_BOOLEAN 4
# define ASN1_ETYPE_SEQUENCE 5
# define ASN1_ETYPE_BIT_STRING 6
# define ASN1_ETYPE_OCTET_STRING 7
# define ASN1_ETYPE_TAG 8
# define ASN1_ETYPE_DEFAULT 9
# define ASN1_ETYPE_SIZE 10
# define ASN1_ETYPE_SEQUENCE_OF 11
# define ASN1_ETYPE_OBJECT_ID 12
# define ASN1_ETYPE_ANY 13
# define ASN1_ETYPE_SET 14
# define ASN1_ETYPE_SET_OF 15
# define ASN1_ETYPE_DEFINITIONS 16
# define ASN1_ETYPE_CHOICE 18
# define ASN1_ETYPE_IMPORTS 19
# define ASN1_ETYPE_NULL 20
# define ASN1_ETYPE_ENUMERATED 21
# define ASN1_ETYPE_GENERALSTRING 27
# define ASN1_ETYPE_NUMERIC_STRING 28
# define ASN1_ETYPE_IA5_STRING 29
# define ASN1_ETYPE_TELETEX_STRING 30
# define ASN1_ETYPE_PRINTABLE_STRING 31
# define ASN1_ETYPE_UNIVERSAL_STRING 32
# define ASN1_ETYPE_BMP_STRING 33
# define ASN1_ETYPE_UTF8_STRING 34
# define ASN1_ETYPE_VISIBLE_STRING 35
# define ASN1_ETYPE_UTC_TIME 36
# define ASN1_ETYPE_GENERALIZED_TIME 37
/**
* ASN1_DELETE_FLAG_ZEROIZE:
*
* Used by: asn1_delete_structure2()
*
* Zeroize values prior to deinitialization.
*/
# define ASN1_DELETE_FLAG_ZEROIZE 1
/**
* ASN1_DECODE_FLAG_ALLOW_PADDING:
*
* Used by: asn1_der_decoding2()
*
* This flag would allow arbitrary data past the DER data.
*/
# define ASN1_DECODE_FLAG_ALLOW_PADDING 1
/**
* ASN1_DECODE_FLAG_STRICT_DER:
*
* Used by: asn1_der_decoding2()
*
* This flag would ensure that no BER decoding takes place.
*/
# define ASN1_DECODE_FLAG_STRICT_DER (1<<1)
/**
* ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME:
*
* Used by: asn1_der_decoding2()
*
* This flag will tolerate Time encoding errors when in strict DER.
*/
# define ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME (1<<2)
/* *INDENT-OFF* */
/**
* asn1_data_node_st:
* @name: Node name
* @value: Node value
* @value_len: Node value size
* @type: Node value type (ASN1_ETYPE_*)
*
* Data node inside a #asn1_node structure.
*
没有合适的资源?快使用搜索试试~ 我知道了~
【QGIS跨平台编译】之【libtasn1跨平台编译】:MacOS环境下编译成果(支撑QGIS跨平台编译,以及二次研发)
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共3个文件
dylib:2个
h:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
0 下载量 90 浏览量
2024-04-06
11:41:12
上传
评论
收藏 79KB ZIP 举报
温馨提示
一、内容概况 QGIS是一个开源的、跨平台的地理信息系统(GIS)软件,用于浏览、编辑和分析地理空间数据,提供了一套丰富的功能,包括地图制作、空间分析、数据管理等。QGIS可以在Windows、Mac OS和Linux等操作系统上运行。 QGIS的跨平台编译需要一系列开源库的支持,本系列提供QGIS相关的编译成果。 本资源的内容为:基于Qt的libtasn1跨平台编译成果(MacOS版本)。 二、使用人群 QGIS编译、QGIS跨平台编译的人员或研究者。 三、使用场景及目标 在MacOS环境下使用。 既可以支撑QGIS在MacOS环境下的编译工作,也可以进行libtasn1的二次研发。 四、其他说明 在MacOS环境下,基于Qt Creator进行编译的libtasn1开源库。包含有头文件include、库文件dylib等,提供了Debug、Release版本。 当前采用的版本为libtasn1-4.19.0,如果下载者,需要其他版本的libtasn1,请在评论区留言。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![thumb](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
共 3 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/b98aeb98173f45faa638d9639d8f6113_luckyhanmo.jpg!1)
翰墨之道
- 粉丝: 3653
- 资源: 182
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 电子学习模拟电路教案.zip
- 高频电子线路实验.zip
- 高频电子线路实验指导书.zip
- 高频电子线路实验指导书(电子科技大学中山学院).zip
- 三菱N5V系统LEHY Pro电梯地址码解析与应用,探索三菱N5V系统:LEHY Pro电梯地址码详解与应用,三菱 n5v系统lehy pro的,电梯地址码 ,三菱;N5V系统;LEHY-Pro;电梯
- 跟我学数字电子技术.zip
- 跟我学模拟电子电路.zip
- 给初学AT89S52单片机的40个实验.zip
- 交通灯控制器设计.zip
- 计数器电路应用于自行车.zip
- 人体接近监测.zip
- 世界十大设计团队的设计策略.zip
- 手机充电器电路原理图及充电器的安全标准.zip
- 数显实验电源的制作.zip
- 数字电子实验指导书.zip
- 数字放大器.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)