Table of Contents

rrc_asn1.h


见过一个头文件六万多行的吗?

rrc_asn1.h

lib\include\srslte\asn1    2074866    4/1/2019    15061
给出一小部分

/*
Copyright 2013-2017 Software Radio Systems LimitedThis file is part of srsLTEsrsASN1 is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.srsASN1 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 Affero General Public License for more details.A copy of the GNU Affero General Public License can be found in
the LICENSE file in the top-level directory of this distribution
and at http://www.gnu.org/licenses/.
*/#ifndef SRSASN1_RRC_H
#define SRSASN1_RRC_H#include "asn1_utils.h"
#include <cstdio>
#include <stdarg.h>
/*
ASN.1抽象语法标记(Abstract Syntax Notation One) ASN.1是一种 ISO/ITU-T 标准,
描述了一种对数据进行表示、编码、传输和解码的数据格式。
它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,
也不用去管到底是什么样的应用程序。
在任何需要以数字方式发送信息的地方,ASN.1 都可以发送各种形式的信息(声频、视频、数据等等)。
ASN.1 和特定的 ASN.1 编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,
它以一种独立于计算机架构和语言的方式来描述数据结构。
*/
namespace asn1 { //ASN.1抽象语法标记(Abstract Syntax Notation One)
namespace rrc { // RRC(Radio Resource Control):无线资源控制协议。/*******************************************************************************
/*                        Functions for external logging
/******************************************************************************/static log_handler_t log_handler;
static void*         callback_ctx = NULL;inline void rrc_log_register_handler(void* ctx, log_handler_t handler)
{log_handler  = handler;callback_ctx = ctx;
}inline void rrc_log_print(srsasn_logger_level_t log_level, const char* format, ...)
{va_list args;va_start(args, format);vlog_print(log_handler, callback_ctx, log_level, format, args);va_end(args);
}inline void log_invalid_access_choice_id(uint32_t val, uint32_t choice_id)
{rrc_log_print(LOG_LEVEL_ERROR, "The access choice id is invalid (%d!=%d)\n", val, choice_id);
}inline void assert_choice_type(uint32_t val, uint32_t choice_id)
{if (val != choice_id) {log_invalid_access_choice_id(val, choice_id);}
}inline void assert_choice_type(const std::string& access_type, const std::string& current_type,const std::string& choice_type)
{if (access_type != current_type) {rrc_log_print(LOG_LEVEL_ERROR, "Invalid field access for choice type \"%s\" (\"%s\"!=\"%s\")\n",choice_type.c_str(), access_type.c_str(), current_type.c_str());}
}template <class NumType>
inline NumType get_enum_number(NumType* array, uint32_t nof_types, uint32_t enum_val, const char* enum_type)
{if (enum_val >= nof_types) {rrc_log_print(LOG_LEVEL_ERROR, "The provided enum value=%d of type %s cannot be translated into a number\n",enum_val, enum_type);return 0;}return array[enum_val];
}
}
}

srsLTE源码学习:RRC:(Radio Resource Control):无线资源控制协议相关推荐

  1. srsLTE源码学习:GTP:GPRS Turning Protocol- GPRS隧道协议

    Table of Contents gtpc.h * GTP-C v2 Header  GPRS Turning Protocol <GPRS Turning Protocol> GPRS ...

  2. srsLTE源码学习:度量中心:metrics_hub.h

    Table of Contents metrics_hub.h PS:<srsLTE源码学习:绑核创建线程threads.h, threads.c> metrics_hub.h lib\i ...

  3. srsLTE源码学习:MAC层抓包pcap

    Table of Contents pcap.h    lib\include\srslte\common    13945    2/28/2019    182 mac_pcap.h    lib ...

  4. srsLTE源码学习:RLC,无线链路控制子层抓包rlc_pcap.h,rlc_pcap.cc

    RLC,无线链路控制子层 RLC(Radio Link Control,无线链路层控制协议)是GPRS/WCDMA/TD-SCDMA/LTE 等无线通信系统中的无线链路控制层协议.在WCDMA系统中, ...

  5. srsLTE源码学习:安全证书polarssl

    Table of Contents liblte_ssl.h liblte_ssl.h lib\include\srslte\common    2101    4/8/2019    19 #ifn ...

  6. srsLTE源码学习:NAS非接入层、PDCP分组数据汇聚协议、PDU 协议数据单元 头文件

    非接入层(原名NAS - Non-access stratum) 分组数据汇聚协议(PDCP - Packet Data Convergence Protocol) 协议数据单元(PDU - Prot ...

  7. srsLTE源码学习:生成多播信道表gen_mch_tables

    Table of Contents gen_mch_tables.h gen_mch_tables.c 我在代码里做出了注释,如下: sf_alloc -> 1234 4321 2345 543 ...

  8. srsLTE源码学习:S1接口抓包s1ap_pcap.h,s1ap_pcap.cc

    Table of Contents 介绍 图例 代码 s1ap_pcap.h s1ap_pcap.cc s1ap_test.cc 介绍 S1接口是LTE eNodeB(基站)与 EPC(分组核心网)之 ...

  9. srsLTE源码学习:逻辑信道多路复用与MAC CE分解pdu_queue.h,pdu_queue.cc

    Logical Channel Demultiplexing and MAC CE dissassemble - 逻辑信道多路复用与MAC CE分解 CE设备:Customer Edge,客户侧边缘设 ...

最新文章

  1. Netflix CEO哈斯廷斯:内容为王 公司潜力依然巨大
  2. 读计算机平面设计要什么文化好,浅谈计算机平面设计的有关论文
  3. SRT协议在电视直播中的应用
  4. WKInterfaceImage 无法更新图片的问题
  5. ubuntu安装hive2.3.7
  6. 对于整数数组类的算法的终极解决方案
  7. 任丽萍跟我赌200块钱的
  8. IDC:大数据——数字化转型时代的大商机
  9. 56. mysqli 扩展库(3)
  10. element表格固定某一行_elementui 表格 固定列+合计行
  11. Python和Matlab小波分析
  12. 股市最好用的大数据软件_最实用的5款炒股软件
  13. 【24】基于java的宠物医院管理系统
  14. ae合成设置快捷键_AE脚本使用快捷键控制关键帧操作 Keyboard v1.2.1 + 使用教程【资源分享1081】...
  15. Cadence OrCAD17.2禁止start page启动设置方法
  16. 浅谈LED芯片库存信息化管理
  17. js中的this指向问题
  18. 80psi等于多少kpa_【图】关于胎压的换算psi、bar,kpa
  19. 3d建模软件安装教程,游戏建模必备软件推荐(收藏)
  20. python easyOCR爬取微信的运动步数排名

热门文章

  1. leetcode题解200-岛屿数量
  2. win7下使用Taste实现协同过滤算法
  3. 基于 YOLOV3 和 OpenCV的目标检测
  4. 团队编程项目作业1-成员简介及分工
  5. wordpress如何屏蔽wp-json(禁用REST API)
  6. PHP 显示信息到控制台console
  7. 免费手机号码归属地API查询接口和PHP使用实例分享
  8. shell实现https登录
  9. JSP程序开发学习笔记2
  10. Android使用软引用和弱引用