felicalib_segfix

概要

felicalib (作: Takuya Murakami氏)は,Windows PC上でライセンスの心配なく
Felicaにアクセスするのに非常に便利なライブラリでしたが,2008年に作成されたものであり,
NFCアクセスのための一部の機能が不足していたり,再コンパイルしようとすると挙動が一部おかしくなっている箇所があります.

そのため,いくつかの修正版を施したものをfelicalib_segfixとして作成しました.
軽微ですが,互換性のない変更もいくつか加えています.

Felica Liteのアクセスサンプルとして,東芝NFC搭載SDカードのタイトルを書き換えるプログラムが同梱されています.

ドキュメントとサンプルソース

ライセンス

felicalibはBSD-3ライセンスです.
 felicalib_segfixは修正箇所とサンプルソースがWTFPLです.

注意

・手間を省くためDLLは同梱しません
・各種ツールも同梱していません.hファイル,cファイルのみです
・VC2015で動作を確認しています.
・x86コンパイルでのみ動作します.

追加した関数

・felica_read_without_encryption03
 ブロック番号が2バイトの読み取り
・felica_write_without_encryption03
 ブロック番号が2バイトの書き込み
・print_response_error
 FelicaLiteカードエラーの分析表示

追加した定義

・POLLING_FELICA_LITE
 Felica Liteのシステムコードです.
・POLLING_NFC_TYPE_F
 NFC Type Fのシステムコードです.(Felica LiteのNDEF有効時)
・SERVICECODE_RW
 Felica Liteの読み書き時のサービスコードです.
 書き込み許可されている領域のみ読み書きできます.
・SERVICECODE_RO
 Felica Liteの読み出し時のサービスコードです.
 書き込み許可に関係なく読み書きできます.(読み出し拒否除く)
・_bool_
 内部実装(char型)

変更点

・2バイトアドレス長アクセスに対応しました.
・felica_write_without_encryptionをfelica_write_without_encryption02に名称変更しました.
・ライブラリのBOOL(int)型とDLLのbool(1byte)型で齟齬が発生していたため,実装依存ではありますがcharで扱うように変更しました.
・VC++用のXMLドキュメントコメントを付加し,既存のドキュメントコメントを削除しました.
・libpasori互換のための使用していない引数を削除しました.
・すべての変数を初期化し,カード読み書き時のエラー処理を強化.エラーコードが取得できるようになりました.
・ _stprintfを _stprintf_sに変更しました.

ċ
felicalib_segfix.zip
(10k)
GPS_NMEA _JP,
2017/06/19 4:20
Comments