📄 aacs_callbacks.h
字号:
/* * * Copyright (c) Sigma Designs, Inc. 2006. All rights reserved. * */#ifndef __AACS_CALLBACKS_H__#define __AACS_CALLBACKS_H__#include "rmdef/rmdef.h"/** opaque */struct RMpacketCommand;/** Callbacks function type definitions **//** * Drive Packet Command callback : send a packet command to the drive * * @param ctx - context from application (see aacs_open) * @param command - packet command (struct is defined in rmdef) * @return RM_OK on success */typedef RMstatus (*aacs_packetcommand_callback_t) (void *ctx, RMpacketCommand *cmd);/** * Drive read file callback : read the content of a file on the disc * * @param ctx - context from application (see aacs_open) * @param filename - filename * @param offset - read offset in file * @param buffer - destination buffer * @param size - max size to read, updated with actual read size * @return RM_OK on success */typedef RMstatus (*aacs_file_read_callback_t) (void *ctx, const RMascii *filename, RMuint64 offset, RMuint8 *buffer, RMuint32 *size);/** * Drive file size callback : return the size of a file on the disc * * @param ctx - context from application (see aacs_open) * @param filename - filename * @param size - updated with actual read size * @return RM_OK on success */typedef RMstatus (*aacs_file_size_callback_t) (void *ctx, const RMascii *filename, RMuint64 *size);/** * File logical address callback: return the logical address of the start * of a file on the disc. * * @param ctx - context from application (see aacs_open) * @param filename - name of the file * @param pLogicalAddress - return parameter for logical address. Must not * be NULL * @return RM_OK on success */typedef RMstatus (*aacs_file_logical_address_callback_t) (void *ctx, const RMascii *filename, RMuint32 *pLogicalAddress);/** * Non Volatile Storage read callback : read the content of a NVS file * * @param ctx - context from application (see aacs_open) * @param filename - filename * @param buffer - destination buffer * @param size - in:max read size, out: actual read size * @return RM_OK on success */typedef RMstatus (*aacs_nvs_read_callback_t) (void *ctx, const RMascii *filename, RMuint8 *buffer, RMuint32 *size);/** * Non Volatile Storage write callback : write the content of a NVS file * * @param ctx - context from application (see aacs_open) * @param filename - filename * @param buffer - destination buffer * @param size - in:write size, out: actual write size * @return RM_OK on success */typedef RMstatus (*aacs_nvs_write_callback_t) (void *ctx, const RMascii *filename, RMuint8 *buffer, RMuint32 *size);/** * Callback structure definition */struct aacs_callbacks_s { /* Drive / Filesystem callbacks */ aacs_packetcommand_callback_t packet; aacs_file_read_callback_t fread; aacs_file_size_callback_t fsize; aacs_file_logical_address_callback_t flba; /* Non Volatile Storage Callbacks */ aacs_nvs_read_callback_t nvs_read; aacs_nvs_write_callback_t nvs_write;};#endif /* __AACS_CALLBACKS_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -