一种初始化结构体数组的方法

2023-05-16


typedef struct {
    int requestNumber;
    void (*dispatchFunction) (Parcel &p, struct RequestInfo *pRI);
    int(*responseFunction) (Parcel &p, void *response, size_t responselen);
} CommandInfo;

结构体数组声明、初始化

static CommandInfo s_commands[] = {
#include "ril_commands.h"
};

ril_commands.h内容:

    {0, NULL, NULL},                   //none
    {RIL_REQUEST_GET_SIM_STATUS, dispatchVoid, responseSimStatus},
    {RIL_REQUEST_ENTER_SIM_PIN, dispatchStrings, responseInts},
    {RIL_REQUEST_ENTER_SIM_PUK, dispatchStrings, responseInts},
    {RIL_REQUEST_ENTER_SIM_PIN2, dispatchStrings, responseInts},
    {RIL_REQUEST_ENTER_SIM_PUK2, dispatchStrings, responseInts},
    {RIL_REQUEST_CHANGE_SIM_PIN, dispatchStrings, responseInts},
    {RIL_REQUEST_CHANGE_SIM_PIN2, dispatchStrings, responseInts},
    {RIL_REQUEST_ENTER_NETWORK_DEPERSONALIZATION, dispatchStrings, responseInts},
    {RIL_REQUEST_GET_CURRENT_CALLS, dispatchVoid, responseCallList},
    {RIL_REQUEST_DIAL, dispatchDial, responseVoid},
    {RIL_REQUEST_GET_IMSI, dispatchVoid, responseString},
    {RIL_REQUEST_HANGUP, dispatchInts, responseVoid},
    {RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND, dispatchVoid, responseVoid},
    {RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND, dispatchVoid, responseVoid},
    {RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE, dispatchVoid, responseVoid},
    {RIL_REQUEST_CONFERENCE, dispatchVoid, responseVoid},
    {RIL_REQUEST_UDUB, dispatchVoid, responseVoid},
    {RIL_REQUEST_LAST_CALL_FAIL_CAUSE, dispatchVoid, responseInts},
    {RIL_REQUEST_SIGNAL_STRENGTH, dispatchVoid, responseRilSignalStrength},
    {RIL_REQUEST_VOICE_REGISTRATION_STATE, dispatchVoid, responseStrings},
    {RIL_REQUEST_DATA_REGISTRATION_STATE, dispatchVoid, responseStrings},
    {RIL_REQUEST_OPERATOR, dispatchVoid, responseStrings},
    {RIL_REQUEST_RADIO_POWER, dispatchInts, responseVoid},
    {RIL_REQUEST_DTMF, dispatchString, responseVoid},
    {RIL_REQUEST_SEND_SMS, dispatchStrings, responseSMS},
    {RIL_REQUEST_SEND_SMS_EXPECT_MORE, dispatchStrings, responseSMS},
    {RIL_REQUEST_SETUP_DATA_CALL, dispatchDataCall, responseSetupDataCall},
    {RIL_REQUEST_SIM_IO, dispatchSIM_IO, responseSIM_IO},
    {RIL_REQUEST_SEND_USSD, dispatchString, responseVoid},
    {RIL_REQUEST_CANCEL_USSD, dispatchVoid, responseVoid},
    {RIL_REQUEST_GET_CLIR, dispatchVoid, responseInts},
    {RIL_REQUEST_SET_CLIR, dispatchInts, responseVoid},
    {RIL_REQUEST_QUERY_CALL_FORWARD_STATUS, dispatchCallForward, responseCallForwards},
    {RIL_REQUEST_SET_CALL_FORWARD, dispatchCallForward, responseVoid},
    {RIL_REQUEST_QUERY_CALL_WAITING, dispatchInts, responseInts},
    {RIL_REQUEST_SET_CALL_WAITING, dispatchInts, responseVoid},
    {RIL_REQUEST_SMS_ACKNOWLEDGE, dispatchInts, responseVoid},
    {RIL_REQUEST_GET_IMEI, dispatchVoid, responseString},
    {RIL_REQUEST_GET_IMEISV, dispatchVoid, responseString},
    {RIL_REQUEST_ANSWER,dispatchVoid, responseVoid},
    {RIL_REQUEST_DEACTIVATE_DATA_CALL, dispatchStrings, responseVoid},
    {RIL_REQUEST_QUERY_FACILITY_LOCK, dispatchStrings, responseInts},
    {RIL_REQUEST_SET_FACILITY_LOCK, dispatchStrings, responseInts},
    {RIL_REQUEST_CHANGE_BARRING_PASSWORD, dispatchStrings, responseVoid},
    {RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE, dispatchVoid, responseInts},
    {RIL_REQUEST_SET_NETWORK_SELECTION_AUTOMATIC, dispatchVoid, responseVoid},
    {RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL, dispatchString, responseVoid},
    {RIL_REQUEST_QUERY_AVAILABLE_NETWORKS , dispatchVoid, responseAvalibleNetworkList},
    {RIL_REQUEST_DTMF_START, dispatchString, responseVoid},
    {RIL_REQUEST_DTMF_STOP, dispatchVoid, responseVoid},
    {RIL_REQUEST_BASEBAND_VERSION, dispatchVoid, responseString},
    {RIL_REQUEST_SEPARATE_CONNECTION, dispatchInts, responseVoid},
    {RIL_REQUEST_SET_MUTE, dispatchInts, responseVoid},
    {RIL_REQUEST_GET_MUTE, dispatchVoid, responseInts},
    {RIL_REQUEST_QUERY_CLIP, dispatchVoid, responseInts},
    {RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE, dispatchVoid, responseInts},
    {RIL_REQUEST_DATA_CALL_LIST, dispatchVoid, responseDataCallList},
    {RIL_REQUEST_RESET_RADIO, dispatchVoid, responseVoid},
    {RIL_REQUEST_OEM_HOOK_RAW, dispatchRaw, responseRaw},
    {RIL_REQUEST_OEM_HOOK_STRINGS, dispatchStrings, responseStrings},
    {RIL_REQUEST_SCREEN_STATE, dispatchInts, responseVoid},
    {RIL_REQUEST_SET_SUPP_SVC_NOTIFICATION, dispatchInts, responseVoid},
    {RIL_REQUEST_WRITE_SMS_TO_SIM, dispatchSmsWrite, responseInts},
    {RIL_REQUEST_DELETE_SMS_ON_SIM, dispatchInts, responseVoid},
    {RIL_REQUEST_SET_BAND_MODE, dispatchInts, responseVoid},
    {RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE, dispatchVoid, responseInts},
    {RIL_REQUEST_STK_GET_PROFILE, dispatchVoid, responseString},
    {RIL_REQUEST_STK_SET_PROFILE, dispatchString, responseVoid},
    {RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND, dispatchString, responseString},
    {RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE, dispatchString, responseVoid},
    {RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM, dispatchInts, responseVoid},
    {RIL_REQUEST_EXPLICIT_CALL_TRANSFER, dispatchVoid, responseVoid},
    {RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE, dispatchInts, responseVoid},
    {RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE, dispatchVoid, responseInts},
    {RIL_REQUEST_GET_NEIGHBORING_CELL_IDS, dispatchVoid, responseCellList},
    {RIL_REQUEST_SET_LOCATION_UPDATES, dispatchInts, responseVoid},
    {RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE, dispatchInts, responseVoid},
    {RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE, dispatchInts, responseVoid},
    {RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE, dispatchVoid, responseInts},
    {RIL_REQUEST_SET_TTY_MODE, dispatchInts, responseVoid},
    {RIL_REQUEST_QUERY_TTY_MODE, dispatchVoid, responseInts},
    {RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE, dispatchInts, responseVoid},
    {RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE, dispatchVoid, responseInts},
    {RIL_REQUEST_CDMA_FLASH, dispatchString, responseVoid},
    {RIL_REQUEST_CDMA_BURST_DTMF, dispatchStrings, responseVoid},
    {RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY, dispatchString, responseVoid},
    {RIL_REQUEST_CDMA_SEND_SMS, dispatchCdmaSms, responseSMS},
    {RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE, dispatchCdmaSmsAck, responseVoid},
    {RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG, dispatchVoid, responseGsmBrSmsCnf},
    {RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG, dispatchGsmBrSmsCnf, responseVoid},
    {RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION, dispatchInts, responseVoid},
    {RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG, dispatchVoid, responseCdmaBrSmsCnf},
    {RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG, dispatchCdmaBrSmsCnf, responseVoid},
    {RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION, dispatchInts, responseVoid},
    {RIL_REQUEST_CDMA_SUBSCRIPTION, dispatchVoid, responseStrings},
    {RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM, dispatchRilCdmaSmsWriteArgs, responseInts},
    {RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM, dispatchInts, responseVoid},
    {RIL_REQUEST_DEVICE_IDENTITY, dispatchVoid, responseStrings},
    {RIL_REQUEST_EXIT_EMERGENCY_CALLBACK_MODE, dispatchVoid, responseVoid},
    {RIL_REQUEST_GET_SMSC_ADDRESS, dispatchVoid, responseString},
    {RIL_REQUEST_SET_SMSC_ADDRESS, dispatchString, responseVoid},
    {RIL_REQUEST_REPORT_SMS_MEMORY_STATUS, dispatchInts, responseVoid},
    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, responseVoid},
    {RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE, dispatchVoid, responseInts},
    {RIL_REQUEST_ISIM_AUTHENTICATION, dispatchString, responseString},
    {RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU, dispatchStrings, responseVoid},
    {RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS, dispatchString, responseSIM_IO},
    {RIL_REQUEST_SET_DEATTACH,dispatchInts, responseVoid},
    {RIL_REQUEST_SET_PIN_LOCK, dispatchStrings, responseVoid},
    {RIL_REQUEST_PIN_PUK_NUM, dispatchVoid, responseInts},
    {RIL_REQUEST_ACTIVATE_PDP_CONTEXT,dispatchVoid, responseStrings}, 
    {RIL_SEND_ACTIVATE_PDP_CONTEXT,dispatchInts, responseVoid},
    {RIL_SEND_MODODR,dispatchInts, responseVoid},
    {RIL_SEND_CPWD, dispatchStrings, responseVoid},
    {RIL_REQUEST_LCTCELLINFO, dispatchVoid, responseInts},
    {RIL_REQUEST_QCSYSMODE,dispatchVoid, responseString},
    {RIL_REQUEST_QCLTEVERSION,dispatchVoid, responseStrings},
    {RIL_REQUEST_NETWORK_MODE,dispatchVoid, responseInts},
    {RIL_REQUEST_BANDLOCK,dispatchInts, responseVoid},
    {RIL_SEND_BANDPREF,dispatchInts, responseVoid},
    {RIL_REQUEST_BANDSUPPORT,dispatchVoid, responseInts},
    {RIL_SEND_CELLLOCK,dispatchStrings, responseVoid}


  

ril_commands.h中用到宏在ril.h中定义

#define RIL_REQUEST_PIN_PUK_NUM 110

#define RIL_REQUEST_ACTIVATE_PDP_CONTEXT 111 
#define RIL_SEND_ACTIVATE_PDP_CONTEXT 112 
#define RIL_SEND_MODODR 113
#define RIL_SEND_CPWD 114
#define RIL_REQUEST_LCTCELLINFO 115

#define RIL_REQUEST_QCSYSMODE  116 
#define RIL_REQUEST_QCLTEVERSION  117 
#define RIL_REQUEST_NETWORK_MODE 118 
#define RIL_REQUEST_BANDLOCK  119

#define RIL_SEND_BANDPREF 120 
#define RIL_REQUEST_BANDSUPPORT 121
#define RIL_SEND_CELLLOCK 122
..............



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一种初始化结构体数组的方法 的相关文章

随机推荐

  • iOS UIBezierPath 通过贝塞尔曲线画圆环 创建一个环形进度指示器

    一 先简单了解一下通过贝塞尔曲线画一个圆的基本概念 xff0c 坐标系请参考下图 要画一个贝塞尔曲线要有几个基本的要素 起始角度 结束角度 半径 是否按照顺时针方向 贝塞尔曲线只是规划了一个Layer的路径 xff0c 而不能真正的展示出来
  • VMware虚拟机安装Ubuntu22.04并配置网络

    一 Ubuntu22 04下载 地址 xff1a https ubuntu com Ubuntu Desktop 包含图形用户界面 Ubuntu Server 不包含图形用户界面 二 VMware安装Ubuntu22 04 三 配置网络 设
  • error RC2108: expected numerical dialog constant

    在我们用图形控件Picture Control在对话框上添加图片是 xff0c 经常会出现error RC2108 expected numerical dialog constant 解决方法 xff1a 双击error rc2018 打
  • uos服务器系统安装PVE

    文章目录 一 PVE介绍 二 系统和组件版本 三 部署pve 1 修改主机名 2 pve安装 3 浏览器访问 一 PVE介绍 Proxmox VE Proxmox Virtual Environment 有方便易用的WEB界面 基于JAVA
  • 通过设置JDK解决存在多个Gradle后台进程的问题

    使用Android Studio经常会在Event Log窗口遇到如下报错 xff1a 简单解释下就是如果后台有一个常驻的gradle守护进程 xff0c 可以提高我们构建效率 因为这样不但可以避免每次都重新启动JVM xff0c 并且可以
  • intellij idea关闭vim模式

    tools gt vim emulator
  • 最大似然估计和最小二乘估计的区别与联系

    看似最小二乘估计与最大似然估计在推导得到的结果很相似 xff0c 但是其前提条件必须引起大家的注意 xff01 xff01 xff01 对于最小二乘估计 xff0c 最合理的参数估计量应该使得模型能最好地拟合样本数据 xff0c 也就是估计
  • 关于Web API 2.0中的Options请求返回405的问题

    关于Web API 2 0中的Options请求返回405的问题 前提 xff1a IIS寄宿的网站 当你向服务器发送非简单请求时 xff0c 客户端会先发送一条预检请求 xff0c 借以确认当前请求源和待请求方法是否被网站允许 xff08
  • 得到指针指向的数组的长度

    1 定义数组 xff0c 要给定其长度 xff0c 也可以用Type a 61 的方式 在对数组进行操作时 xff0c 可能需要计算数组长度 xff0c 方法是 xff1a sizeof 数组名 sizeof 元素类型 数组int a 4
  • Redis的应用--分布式锁

    Redis 文章目录 Redis应用分布式锁解决方案 应用 分布式锁 互斥死锁容错 解决方案 正常使用redis的nx数据 xff0c 下面的语句 xff0c key使用对应的前缀 43 主键 xff0c value使用一个随机值UUID
  • Golang调用FFmpeg转换视频流

    问题背景 问题背景是在 xff0c 由于视频采集端使用的是H264编码采集的裸流 xff0c 而网络流媒体大多是以FLV为主的直播方式进行的 xff0c 为了实现实时直播 xff0c 当前是打算直接使用FFmpeg将H264裸流实时转成FL
  • 【Deepin Debian 系统安装RPD远程桌面工具Remmina】

    Remmina 是一款在 Linux 和其他类 Unix 系统下的自由开源 功能丰富 强大的远程桌面客户端 xff0c 它用 GTK 43 3 编写而成 它适用于那些需要远程访问及使用许多计算机的系统管理员和在外出行人员 它以简单 统一 同
  • Linux部署yapi

    一 安装node 1 获取资源node资源 8 x版本 curl sL https rpm nodesource com setup 8 x bash 耐心等待 2 安装nodejs yum install y nodejs 3 查看nod
  • vim环境设定:~/.vimrc(语法高亮等一些的设置)

    Centos里的VI只默认安装了vim minimal xff0d 7 x 所以无论是输入vi或者vim查看文件 xff0c syntax功能都无法正常启用 因此需要用yum安装另外两个组件 xff1a vim common 7 x和vim
  • HTML中meta标签都有什么作用?

    一直以来 xff0c 对HTML中的meta标签一知半解 xff0c 这次抽时间好好总结一下 meta标签 定义 xff1a meta元素提供有关页面的元信息 meta information 比如针对 搜索引擎和更新频度的描述和关键词 搜
  • 自增运算符的用法

    a 43 43 和 43 43 a 都属于自增运算符 a 43 43 是先进行取值 xff0c 后进行自增 43 43 a是先进行自增 xff0c 后进行取值
  • 使用七牛云CDN加速并绑定阿里云域名详细教程

    昨天晚上在某个群里看到群友问 xff0c 七牛云能不能绑定自己的域名作为静态资源文件的前缀 xff0c 忽然想起来我已经有快两年时间没有登录过我的七牛云账号了 xff0c 不禁老脸一红 xff0c 这是有多久没有自己前后端都弄了 xff0c
  • 一些中间件的思维导图

    一些中间件的思维导图 文章目录 一些中间件的思维导图写在前面Redis博客连接Redis的应用 分布式锁Redis的基础Redis的生产问题 缓存雪崩 缓存穿透 双写一致性 并发竞争Redis的cluster集群Redis的replicat
  • VS2012 下配置gsl-1.8库

    GSL的安装配置如下 xff1a 1 下载安装 从http gnuwin32 sourceforge net packages gsl htm 下载安装gsl 1 8 exe和gsl 1 8 src exe两个exe文件 下载好后如下图 x
  • 一种初始化结构体数组的方法

    typedef struct int requestNumber void dispatchFunction Parcel amp p struct RequestInfo pRI int responseFunction Parcel a