/*
* File: README.txt
* Package: iAP2Link
* Abstract: n/a
*
* Disclaimer: IMPORTANT: This Apple software is supplied to you, by Apple
* Inc. ("Apple"), in your capacity as a current, and in good standing,
* Licensee in the MFi Licensing Program. Use of this Apple software is
* governed by and subject to the terms and conditions of your MFi License,
* including, but not limited to, the restrictions specified in the provision
* entitled “Public Software”, and is further subject to your agreement to
* the following additional terms, and your agreement that the use,
* installation, modification or redistribution of this Apple software
* constitutes acceptance of these additional terms. If you do not agree with
* these additional terms, please do not use, install, modify or redistribute
* this Apple software.
*
* In consideration of your agreement to abide by the following terms, and
* subject to these terms, Apple grants you a personal, non-exclusive
* license, under Apple's copyrights in this original Apple software (the
* "Apple Software"), to use, reproduce, and modify the Apple Software in
* source form, and to use, reproduce, modify, and redistribute the Apple
* Software, with or without modifications, in binary form. While you may not
* redistribute the Apple Software in source form, should you redistribute
* the Apple Software in binary form, in its entirety and without
* modifications, you must retain this notice and the following text and
* disclaimers in all such redistributions of the Apple Software. Neither the
* name, trademarks, service marks, or logos of Apple Inc. may be used to
* endorse or promote products derived from the Apple Software without
* specific prior written permission from Apple. Except as expressly stated
* in this notice, no other rights or licenses, express or implied, are
* granted by Apple herein, including but not limited to any patent rights
* that may be infringed by your derivative works or by other works in which
* the Apple Software may be incorporated.
*
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES
* NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE
* IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION
* ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
*
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
* MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND
* WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT
* LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
*
* Copyright (C) 2013 Apple Inc. All Rights Reserved.
*
*/
Introduction
============
The iAP2Link package is a reference implementation of the iAP2 link as documented in
the MFi Accessory Interface Specification.
The following source files are part of this package:
README.txt
iAP2LinkConfig_sample.h
iAP2Link/
iAP2Link.c
iAP2Link.h
iAP2LinkPrivate.h
iAP2LinkAccessory.c
iAP2LinkRunLoop.c
iAP2LinkRunLoop.h
iAP2Packet.c
iAP2Packet.h
iAP2FileTransfer.c
iAP2FileTransfer.h
iAP2Utility/
iAP2BuffPool.c
iAP2BuffPool.h
iAP2BuffPoolImplementation.h
iAP2Defines.h
iAP2FSM.c
iAP2FSM.h
iAP2ListArray.c
iAP2ListArray.h
iAP2Log.h
iAP2Misc.h
iAP2Time.h
iAP2UtilityImplementation/
iAP2BuffPoolImplementation.c
iAP2Log.c
iAP2Time.c
iAP2TimeImplementation.h
iAP2LinkConfig.h
----------------
This file must be provided by the accessory developer and
configures the iAP2 link. A typical configuration is provided
in iAP2LinkConfig_sample.h.
iAP2Link
--------
This folder contains the core iAP2 link implementation.
iAP2Packet.h, iAP2Link.h, and iAP2LinkRunLoop.h describe the
higher-level interfaces.
See the comments in those files for information on usage.
iAP2FileTransfer.c and iAP2FileTransfer.h provide an example
implementation of an iAP2 File Transfer session. See iAP2FileTransfer.h
for information on usage.
Reference code contained in this folder is designed to be used as
is and modifications are strongly discouraged.
The only exception is iAP2Runloop.h. Developers may need to provide
implementations for the following functions (depending on actual usage):
iAP2LinkRunLoopInitImplementation
iAP2LinkRunLoopCleanupImplementation
iAP2LinkRunLoopProtectedCall
iAP2LinkRunLoopWait
iAP2LinkRunLoopSignal
iAP2Utility
-----------
This folder contains utility function implementations used by iAP2Link.
Some files implement abstractions for hardware dependencies such as
timers and memory management.
The .h files are designed to be used as is and modifications are
strongly discouraged. The .c files may be modified or used as is.
iAP2UtilityImplementation
-------------------------
This folder contains hardware-dependent implementation samples for
certain functions used by iAP2Utility.
The files in this folder must be modified to match the target hardware platform.
Specifically, iAP2TimeImplementation.h is not a complete timer
implementation and must be modified before use.
Usage Notes
===========
Other than the functions that need to be implemented, the following
functions defined in iAP2Packet.h, iAP2Link.h, and iAP2LinkRunLoop.h
are used to make use of the iAP2 link protocol reference implementation.
iAP2PacketCreateEmptyRecvPacket
iAP2PacketParseBuffer
iAP2PacketIsComplete
iAP2PacketCreateEmptySendPacket
iAP2PacketGenerateBuffer
iAP2PacketGetBuffer
iAP2PacketDelete
iAP2LinkRunLoopCreateAccessory
iAP2LinkRunLoopRunOnce
iAP2LinkRunLoopAttached
iAP2LinkRunLoopDetached
iAP2LinkRunLoopHandleReadyPacket
iAP2LinkRunLoopQueueSendData
iAP2LinkQueueSendData
iAP2LinkQueueSendDataPacket
Device/Accessory Attach/Detach
------------------------------
On attach to Device, call:
iAP2LinkRunLoopAttached
On detach from Device, call:
iAP2LinkRunLoopDetached
Inbound iAP2 traffic
--------------------
The accessory should perform the following on incoming iAP2 traffic:
1) Create iAP2Packet by calling iAP2PacketCreateEmptyRecvPacket
2) Parse the incoming data by calling iAP2PacketParseBuffer
(pass in data buffer and iAP2Packet structure)
3) Check if a full iAP2Packet has been parsed by calling iAP2PacketIsComplete
4) If a complete iAP2Packet has not been parsed, go to (2)
5) Pass the complete iAP2Packet to the link layer by calling
iAP2LinkRunLoopHandleReadyPacket
Outbound iAP2 traffic
---------------------
The accessory should perform the following on outgoing iAP2 traffic:
1a) Create a data buffer containing the session data, or
1b) Create iAP2Packet by calling iAP2PacketCreateEmptySendPacket
and fill the payload with session data.
2a) Call iAP2LinkRunLoopQueueSendData or iAP2LinkQueueSendData
with a session data buffer, or
2b) Call iAP2LinkQueueSendDataPacket with iAP2Packet send packet
with a payload containing session data.
Once the packet is sent out successfully and has been ACK'd,
iAP2PacketDelete will be called by iAP2Link.
Notes
-----
iAP2LinkRunLoopRunOnce should be called on every iteration of the
accessory firmware's main run loop. Most link layer operations are
handled by iAP2Link within iAP2LinkRunLoopRunOnce.
Processing of iAP2 session data should be performed as quickly
as possible; any lengthy handling should be spread over multiple run
loop cycles or performed in a separate processing thread. This
especially applies
没有合适的资源?快使用搜索试试~ 我知道了~
iOS MFI认证代码及文档
共135个文件
h:50个
c:42个
ds_store:16个
需积分: 3 2 下载量 36 浏览量
2023-07-12
16:09:01
上传
评论
收藏 3.13MB 7Z 举报
温馨提示
iOS MFI认证代码及文档
资源推荐
资源详情
资源评论
收起资源包目录
iOS MFI认证代码及文档 (135个子文件)
._iAP2 Sample Source R1 216B
._iAP2Core 216B
._iAP2Link 216B
._iAP2Link 216B
._iAP2Utility 216B
._iAP2UtilityImplementation 216B
iAP2Link.c 130KB
iAP2Packet.c 70KB
iAP2FileTransfer.c 50KB
iAP2Packet.c 48KB
iAP2LinkAccessory.c 40KB
iAP2Log.c 28KB
iAP2ListArray.c 24KB
iAP2LinkRunLoop.c 24KB
iAP2Link.c 23KB
iAP2Time.c 19KB
MFIIdentification.c 12KB
MFIAuthentication.c 11KB
iAP2BuffPool.c 10KB
iAP2FSM.c 10KB
iAP2BuffPoolImplementation.c 9KB
MFIWorkFlowCommands.c 7KB
._MFIWorkFlow.c 3KB
._MFIWorkFlowCommands.c 3KB
._MFIAuthentication.c 2KB
._main.c 2KB
MFIWorkFlow.c 2KB
._iAP2Packet.c 2KB
._MFIIdentification.c 1KB
IOImplementation.c 1KB
._iAP2Link.c 1KB
MFIGlobal.c 1KB
._MFIGlobal.c 1KB
._IOImplementation.c 994B
main.c 720B
iAP2TimeImplementation.c 650B
._iAP2TimeImplementation.c 584B
._iAP2LinkRunLoop.c 520B
._iAP2BuffPoolImplementation.c 408B
._iAP2Link.c 408B
._iAP2BuffPool.c 392B
._iAP2FileTransfer.c 392B
._iAP2LinkAccessory.c 360B
._iAP2Packet.c 360B
._iAP2Log.c 328B
._iAP2Time.c 267B
._iAP2ListArray.c 267B
._iAP2FSM.c 216B
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
._.DS_Store 216B
._.DS_Store 216B
._.DS_Store 216B
._.DS_Store 216B
._.DS_Store 120B
._.DS_Store 120B
._.DS_Store 120B
._.DS_Store 120B
iAP2Packet.h 35KB
iAP2Link.h 33KB
iAP2Packet.h 30KB
iAP2LinkRunLoop.h 24KB
iAP2FileTransfer.h 19KB
iAP2Log.h 17KB
iAP2ListArray.h 15KB
iAP2BuffPoolImplementation.h 13KB
iAP2Time.h 12KB
iAP2Link.h 11KB
iAP2LinkPrivate.h 11KB
iAP2FSM.h 8KB
iAP2BuffPool.h 7KB
iAP2TimeImplementation.h 7KB
iAP2Misc.h 5KB
iAP2LinkPrivate.h 4KB
iAP2LinkConfig.h 4KB
iAP2Defines.h 3KB
iAP2Defines.h 3KB
MFIAuthentication.h 1KB
._iAP2Packet.h 1KB
._iAP2Link.h 1KB
._MFIWorkFlow.h 1KB
MFIGlobal.h 1020B
._MFIGlobal.h 962B
._MFIWorkFlowCommands.h 898B
IOImplementation.h 858B
._IOImplementation.h 850B
MFIWorkFlow.h 741B
MFIWorkFlowCommands.h 656B
._MFIIdentification.h 594B
._MFIAuthentication.h 578B
MFIIdentification.h 511B
._iAP2Defines.h 472B
._iAP2Link.h 392B
._iAP2TimeImplementation.h 360B
共 135 条
- 1
- 2
资源评论
深圳某小明
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STM8L101F3P6单片机+CC1100模块433M遥控器设计硬件(原理图+PCB)工程文件.zip
- 上传下载铁人下载系统 Liuxing 1.0-liuxing1.0.rar
- 南京邮电大学数学实验实力雄厚,凭借其优秀的师资力量、丰富的实践教学资源和卓越的科研成果,成为国内一流的数学实验教学和科研基地
- 【火爆朋友圈的今天吃什么源码 v1.0】随机的为用户带来每一天的用餐选择和推荐.rar
- MPU6050中文版数据手册
- 上传下载手机电影下载-mobiledy.rar
- 响应式旅游网站源码下载 马尔代夫旅游网站.rar
- CMS小涴熊漫画连载系统漫画网站源码 带采集API.rar
- 福袋点点.apk
- 基于STM32的电子秤采用0.96寸OLED显示UI界面源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功