亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mc_message.h

?? MMI層OBJ不能完全編譯
?? H
?? 第 1 頁 / 共 2 頁
字號:
/**
 * @file  mc_message.h
 *
 * Data structures:
 * 1) used to send messages to the MC SWE,
 * 2) MC can receive.
 *
 * @author   ()
 * @version 0.1
 */

/*
 * History:
 *
 *  Date        Author          Modification
 *  -------------------------------------------------------------------
 *  7/1/2003   ()   Create.
 *
 * (C) Copyright 2003 by ICT Embedded B.V., All Rights Reserved
 */

#ifndef __MC_MESSAGE_H_
#define __MC_MESSAGE_H_


#include "rv/rv_general.h"

#include "mc/mc_cfg.h"
#include "mc/mc_env.h"


#ifdef __cplusplus
extern "C"
{
#endif


/** 
 * The message offset must differ for each SWE in order to have 
 * unique msg_id in the system.
 */
#define MC_MESSAGE_OFFSET   BUILD_MESSAGE_OFFSET(MC_USE_ID)

/**
 * @name MC_SUBSCRIBE_REQ_MSG
 *
 * Detailled description
 * The T_MC_SUBSCRIBE_REQ_MSG message can be used to subscribe to the 
 * MC-driver. This message is simular to the mc_subscribe(). The driver 
 * responds with a T_MC_SUBSCRIBE_RSP_MSG message. 
 *
 */
/*@{*/

/** Subscribe request. */
#define MC_SUBSCRIBE_REQ_MSG (MC_MESSAGE_OFFSET | 0x001)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_SUBSCRIBER  *subscriber_p;
  T_RV_RETURN       return_path;
} T_MC_SUBSCRIBE_REQ_MSG;

/** Subscribe response. */
#define MC_SUBSCRIBE_RSP_MSG (MC_MESSAGE_OFFSET | 0x002)

typedef struct {
  T_RV_HDR          os_hdr;
  T_RV_RET          result;
  T_MC_SUBSCRIBER  *subscriber_p;
} T_MC_SUBSCRIBE_RSP_MSG;

/*@}*/

/**
 * @name MC_UNSUBSCRIBE_REQ_MSG
 *
 * Detailled description
 * The T_MC_UNSUBSCRIBE_REQ_MSG message can be used to unsubscribe from the MC-driver. 
 * This message is simular to the mc_unsubscribe() function. The driver responds with
 * a T_MC_UNSUBSCRIBE_RSP_MSG message.
 *
 */
/*@{*/

/** Unsubscribe request. */
#define MC_UNSUBSCRIBE_REQ_MSG (MC_MESSAGE_OFFSET | 0x003)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_SUBSCRIBER  *subscriber_p;
} T_MC_UNSUBSCRIBE_REQ_MSG;

/** Unsubscribe response. */
#define MC_UNSUBSCRIBE_RSP_MSG (MC_MESSAGE_OFFSET | 0x004)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
} T_MC_UNSUBSCRIBE_RSP_MSG;

/*@}*/

/**
 * @name MC_READ_REQ_MSG
 *
 * Detailled description
 * The T_MC_READ_REQ_MSG message can be used to read data from a MC card. 
 * This message is simular to the mc_read() function. The driver responds with
 * a T_MC_READ_RSP_MSG message.
 *
 */
/*@{*/

/** Read request */
#define MC_READ_REQ_MSG (MC_MESSAGE_OFFSET | 0x005)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  T_MC_RW_MODE     mode;
  UINT32            addr;
  UINT8             *data_p;
  UINT32            data_size;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_READ_REQ_MSG;

/** Read response */
#define MC_READ_RSP_MSG (MC_MESSAGE_OFFSET | 0x006)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
  UINT8     *data_p;
  UINT32    data_size;
} T_MC_READ_RSP_MSG;

/*@}*/

/**
 * @name MC_WRITE_REQ_MSG
 *
 * Detailled description
 * The T_MC_ WRITE_REQ_MSG message can be used to write data to a MC card.
 * This message is simular to the mc_write() function. The driver responds 
 * with a T_MC_WRITE_RSP_MSG message.
 *
 */
/*@{*/

/** Write request */
#define MC_WRITE_REQ_MSG (MC_MESSAGE_OFFSET | 0x007)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  T_MC_RW_MODE     mode;
  UINT32            addr;
  UINT8             *data_p;
  UINT32            data_size;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_WRITE_REQ_MSG;

/** Write response */
#define MC_WRITE_RSP_MSG (MC_MESSAGE_OFFSET | 0x008)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
  UINT8     *data_p;
  UINT32    data_size;
} T_MC_WRITE_RSP_MSG;

/*@}*/

/**
 * @name MC_ERASE_GROUP_REQ_MSG
 *
 * Detailled description
 * The T_MC_ERASE_GROUP_REQ_MSG message can be used to erase a range of erase
 * groups on the card. This message is simular to the mc_erase_group () 
 * function. The driver re-sponds with a T_MC_ERASE_GROUP_RSP_MSG message.
 *
 */
/*@{*/

/** Erase group request */
#define MC_ERASE_GROUP_REQ_MSG (MC_MESSAGE_OFFSET | 0x009)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  UINT32            erase_group_start;
  UINT32            erase_group_end;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_ERASE_GROUP_REQ_MSG;

/** Erase group respond */
#define MC_ERASE_GROUP_RSP_MSG (MC_MESSAGE_OFFSET | 0x00A)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
} T_MC_ERASE_GROUP_RSP_MSG;

/*@}*/

/**
 * @name T_MC_SET_PROTECT_REQ_MSG
 *
 * Detailled description
 * The T_MC_SET_PROTECT_REQ_MSG message can be used to set the write 
 * protection of the addressed write protect group. This message is simular 
 * to the mc_set_write_protect() function (see 2.1.6). The driver responds 
 * with a T_MC_SET_PROTECT_RSP_MSG message.
 *
 */
/*@{*/

/** Set protect request */
#define MC_SET_PROTECT_REQ_MSG (MC_MESSAGE_OFFSET | 0x00B)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  UINT32            wr_prot_group;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_SET_PROTECT_REQ_MSG;

/** Set protect respond */
#define MC_SET_PROTECT_RSP_MSG (MC_MESSAGE_OFFSET | 0x00C)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
} T_MC_SET_PROTECT_RSP_MSG;

/*@}*/

/**
 * @name MC_CLR_PROTECT_REQ_MSG
 *
 * Detailled description
 * The T_MC_CLR_PROTECT_REQ_MSG message can be used to clear the write 
 * protection of the addressed write protect group. This message is simular
 * to the mc_clr_write_protect() function. The driver responds to a 
 * MC_CLR_PROTECT_REQ_MSG message with a T_MC_CLR_PROTECT_RSP_MSG message.
 *
 */
/*@{*/

/** Clear write protect request */
#define MC_CLR_PROTECT_REQ_MSG (MC_MESSAGE_OFFSET | 0x00D)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  UINT32            wr_prot_group;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_CLR_PROTECT_REQ_MSG;

/** Clear write protect respond */
#define MC_CLR_PROTECT_RSP_MSG (MC_MESSAGE_OFFSET | 0x00E)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
} T_MC_CLR_PROTECT_RSP_MSG;

/*@}*/

/**
 * @name MC_GET_PROTECT_REQ_MSG
 *
 * Detailled description
 * The T_MC_GET_PROTECT_REQ_MSG message can be used to read 32 write 
 * protection bits representing 32 write protect groups starting at a 
 * specified address. This message is simular to the mc_get_write_protect()
 * function. The driver responds with a T_MC_GET_PROTECT_RSP_MSG message. 
 * The wr_proo_grps variable contains the write pro-tection groups.
 *
 */
/*@{*/

/** Get write protect request */
#define MC_GET_PROTECT_REQ_MSG (MC_MESSAGE_OFFSET | 0x00F)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  UINT32            wr_prot_group;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_GET_PROTECT_REQ_MSG;

/** Get write protect respond */
#define MC_GET_PROTECT_RSP_MSG (MC_MESSAGE_OFFSET | 0x010)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
  UINT32    wr_prot_grps;
} T_MC_GET_PROTECT_RSP_MSG;

/*@}*/

/**
 * @name MC_CARD_STATUS_REQ_MSG
 *
 * Detailled description
 * The T_MC_CARD_STATUS_REQ_MSG message can be used to read 32-bit status 
 * register of a MC-card. This message is simular to the 
 * mc_get_card_status() function. The driver responds with a 
 * T_MC_CARD_STATUS_RSP_MSG message.
 *
 */
/*@{*/

/** Get card status request */
#define MC_CARD_STATUS_REQ_MSG (MC_MESSAGE_OFFSET | 0x011)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_RCA         rca;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_CARD_STATUS_REQ_MSG;

/** Get card status respond */
#define MC_CARD_STATUS_RSP_MSG (MC_MESSAGE_OFFSET | 0x012)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT32    card_status;
} T_MC_CARD_STATUS_RSP_MSG;


/*@}*/

/**
 * @name MC_UPDATE_ACQ_REQ_MSG
 *
 * Detailled description
 * The T_MC_UPDATE_ACQ_REQ_MSG message can be used to start an 
 * identification cycle of the card stack. This message is simular to the 
 * mc_update_acq () function. The driver re-sponds with a 
 * T_MC_UPDATE_ACQ_RSP_MSG message. The stack_size variable in the response 
 * message contains the number of connected MC-cards.
 *
 */
/*@{*/

/** Update acquisition request */
#define MC_UPDATE_ACQ_REQ_MSG (MC_MESSAGE_OFFSET | 0x013)

typedef struct {
  T_RV_HDR          os_hdr;
  T_MC_SUBSCRIBER  subscriber;
} T_MC_UPDATE_ACQ_REQ_MSG;

/** Update acquisition response */
#define MC_UPDATE_ACQ_RSP_MSG (MC_MESSAGE_OFFSET | 0x014)

typedef struct {
  T_RV_HDR  os_hdr;
  T_RV_RET  result;
  UINT16    stack_size;
} T_MC_UPDATE_ACQ_RSP_MSG;

/*@}*/

/**
 * @name MC_RESET_REQ_MSG
 *
 * Detailled description
 * This function resets all cards to idle state. This message is simular to 
 * the mc_reset() function. The driver responds with a T_MC_RESET_MSG 
 * message.
 *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本欧美天堂| 欧美二区三区91| 亚洲色图在线播放| 91在线视频播放地址| 亚洲乱码国产乱码精品精小说| 波多野结衣中文一区| 中文字幕日韩一区| 欧美精品第1页| 亚洲成av人片观看| 欧美一区二区在线播放| 久久成人麻豆午夜电影| 久久精品一区蜜桃臀影院| 成人三级伦理片| 亚洲精品午夜久久久| 欧美伊人久久久久久午夜久久久久| 亚洲午夜国产一区99re久久| 欧美一区二区视频在线观看 | 国产在线播放一区三区四| 精品国产3级a| 91在线丨porny丨国产| 亚洲国产精品一区二区www| 日韩一卡二卡三卡国产欧美| 极品瑜伽女神91| 亚洲欧美影音先锋| 欧美日韩免费一区二区三区视频| 蜜臀av一级做a爰片久久| 欧美激情中文字幕一区二区| 欧美色爱综合网| 国产九九视频一区二区三区| 亚洲三级电影全部在线观看高清| 777亚洲妇女| 大白屁股一区二区视频| 亚洲一区二区欧美日韩| 精品免费国产一区二区三区四区| proumb性欧美在线观看| 亚洲第一会所有码转帖| 久久久久国产精品厨房| 3d成人动漫网站| heyzo一本久久综合| 久久er精品视频| 一区二区三区四区精品在线视频| 久久综合av免费| 欧美在线免费观看视频| 成人av中文字幕| 极品销魂美女一区二区三区| 亚洲一区在线免费观看| 日本一区二区三区四区在线视频| 欧美日韩国产成人在线91| 不卡一卡二卡三乱码免费网站| 久久99精品久久久久久| 亚洲第一搞黄网站| 成人免费小视频| 日本一区二区三区视频视频| 欧美一区二区三区视频免费 | 国产电影精品久久禁18| 首页亚洲欧美制服丝腿| 亚洲女性喷水在线观看一区| 国产日韩欧美精品在线| 日韩欧美成人一区| 欧美高清性hdvideosex| 欧美性猛交一区二区三区精品| 成人国产精品免费网站| 国产伦精品一区二区三区在线观看| 亚洲成a人v欧美综合天堂下载| 亚洲视频在线观看一区| 国产欧美日韩精品一区| 久久精品人人做人人爽97| 日韩免费视频一区二区| 制服视频三区第一页精品| 欧美日韩国产高清一区二区| 色琪琪一区二区三区亚洲区| heyzo一本久久综合| 99久久伊人精品| 成人激情黄色小说| av电影在线观看不卡| 国产福利91精品一区二区三区| 精品无人码麻豆乱码1区2区| 日本免费新一区视频| 日韩av网站免费在线| 视频一区二区欧美| 亚洲成人精品影院| 午夜av一区二区| 日韩在线一区二区| 欧美aaa在线| 美腿丝袜亚洲三区| 精品亚洲免费视频| 国产精品2024| 99久久精品情趣| 欧美在线一二三| 欧美一区二区视频在线观看2020| 日韩亚洲欧美中文三级| 欧美精品一区二区三区高清aⅴ| 26uuu欧美| 中文字幕高清不卡| 日韩久久一区二区| 亚洲一二三专区| 天天综合色天天| 狠狠色丁香婷婷综合久久片| 国产一区二区三区久久悠悠色av| 成人中文字幕电影| 色天天综合色天天久久| 欧美精选一区二区| 国产亚洲一区字幕| 亚洲精品福利视频网站| 日韩福利电影在线| 国产suv精品一区二区883| 色综合久久天天| 日韩欧美123| 中文字幕制服丝袜成人av| 亚洲成人一区二区在线观看| 韩国精品免费视频| 91在线观看一区二区| 欧美老肥妇做.爰bbww视频| 日韩精品一区二区三区在线| 国产精品天天看| 午夜精品久久久久久久久久| 国产精品99久久久久久似苏梦涵| 色呦呦网站一区| 精品少妇一区二区三区日产乱码| 国产精品福利一区二区三区| 日韩激情在线观看| 不卡的电视剧免费网站有什么| 欧美伦理电影网| 国产精品久久久久婷婷| 蜜臀av性久久久久蜜臀aⅴ四虎| 99久久精品国产网站| 精品福利视频一区二区三区| 依依成人精品视频| 国产精品一区久久久久| 欧美视频精品在线观看| 国产精品免费久久久久| 毛片基地黄久久久久久天堂| 91视频.com| 久久久亚洲精华液精华液精华液| 亚洲va中文字幕| 91蜜桃视频在线| 久久中文字幕电影| 日本伊人午夜精品| 色猫猫国产区一区二在线视频| 久久久天堂av| 蜜臀精品久久久久久蜜臀| 欧美色大人视频| 亚洲人成在线播放网站岛国| 国产成人超碰人人澡人人澡| 制服丝袜亚洲播放| 亚洲一区二区在线观看视频 | 91在线观看高清| 国产欧美精品区一区二区三区| 美腿丝袜在线亚洲一区| 91精品在线免费| 亚洲成人黄色影院| 91成人在线精品| 伊人开心综合网| 91视视频在线观看入口直接观看www | 国产欧美精品一区| 久久99国产精品成人| 日韩一级高清毛片| 五月天国产精品| 在线播放中文一区| 午夜精品一区二区三区三上悠亚| 色婷婷综合久久| 日韩理论电影院| 色综合咪咪久久| 亚洲日穴在线视频| 在线观看日产精品| 亚洲一区二区三区四区在线| 91麻豆免费视频| 亚洲精品成人悠悠色影视| 在线看国产一区二区| 一区二区三区日韩在线观看| 色94色欧美sute亚洲线路一久 | 欧美日韩中文另类| 亚洲国产精品尤物yw在线观看| 欧美视频你懂的| 日韩av二区在线播放| 日韩欧美亚洲国产精品字幕久久久| 美女视频第一区二区三区免费观看网站| 欧美精品xxxxbbbb| 蜜臀av一区二区在线免费观看 | 成人深夜在线观看| 国产精品网站一区| 日本久久一区二区| 亚洲国产sm捆绑调教视频| 欧美日韩国产一级| 看电影不卡的网站| 久久久亚洲高清| 91社区在线播放| 日韩av二区在线播放| 久久综合久久99| 成a人片国产精品| 亚洲一区在线观看视频| 777亚洲妇女| 国产成人综合亚洲网站| 国产精品美女一区二区三区| 91免费在线视频观看| 亚洲电影在线播放| 欧美精品一区二区三| av在线不卡观看免费观看| 五月婷婷激情综合| 久久综合九色综合97婷婷|