felicalib.h

#include <windows.h>
#include <tchar.h>

データ構造

struct  felica
 FeliCa ハンドル [詳細]

マクロ定義

#define MAX_SYSTEM_CODE   8
#define MAX_AREA_CODE   16
#define MAX_SERVICE_CODE   256
#define POLLING_ANY   0xffff
#define POLLING_EDY   0xfe00
#define POLLING_SUICA   0x0003
#define N2HS(x)   (((x) >> 8) & 0xff | ((x) << 8) & 0xff00)
#define H2NS(x)   N2HS(x)

型定義

typedef unsigned char uint8
typedef unsigned
short int 
uint16
typedef struct strpasori pasori

関数

pasoripasori_open (char *)
 PaSoRi をオープンする
void pasori_close (pasori *)
 PaSoRi ハンドルをクローズする
int pasori_init (pasori *)
 PaSoRi を初期化する
felicafelica_polling (pasori *, uint16, uint8, uint8)
 FeliCa をポーリングする
void felica_free (felica *f)
 felica ハンドル解放
void felica_getidm (felica *f, uint8 *buf)
 IDm 取得
void felica_getpmm (felica *f, uint8 *buf)
 PMm 取得
int felica_read_without_encryption02 (felica *f, int servicecode, int mode, uint8 addr, uint8 *b)
 暗号化されていないブロックを読み込む
int felica_write_without_encryption (felica *f, int servicecode, uint8 addr, uint8 *b)
 暗号化されていないブロックを書き込む
felicafelica_enum_systemcode (pasori *p)
 システムコードの列挙
felicafelica_enum_service (pasori *p, uint16 systemcode)
 サービス/エリアコードの列挙

説明

メインヘッダ

マクロ定義

#define H2NS (  )     N2HS(x)

ホストバイトオーダからネットワークバイトオーダへの変換(16bit)

#define MAX_AREA_CODE   16

#define MAX_SERVICE_CODE   256

#define MAX_SYSTEM_CODE   8

#define N2HS (  )     (((x) >> 8) & 0xff | ((x) << 8) & 0xff00)

ネットワークバイトオーダからホストバイトオーダへの変換(16bit)

#define POLLING_ANY   0xffff

#define POLLING_EDY   0xfe00

システムコード: 共通領域 (Edy などが使用)

#define POLLING_SUICA   0x0003

システムコード: サイバネ領域


型定義

typedef struct strpasori pasori

typedef unsigned short int uint16

typedef unsigned char uint8


関数

felica* felica_enum_service ( pasori p,
uint16  systemcode 
)

サービス/エリアコードの列挙

引数:
[in] p pasoriハンドル
[in] systemcode システムコード
戻り値:
felicaハンドル
結果は、felica構造体の num_area_code/area_code/end_service_code および num_service_code/service_code に格納される。

felica* felica_enum_systemcode ( pasori p  ) 

システムコードの列挙

引数:
[in] p pasoriハンドル
戻り値:
felicaハンドル
結果は、felica構造体の num_system_code/system_code に格納される。 なお、システムコードのエンディアンは逆に格納されているので注意すること。

void felica_free ( felica f  ) 

felica ハンドル解放

引数:
[in] f felica ハンドル

void felica_getidm ( felica f,
uint8 buf 
)

IDm 取得

引数:
[in] f felica ハンドル
[out] buf IDm を格納するバッファ(8バイト)

void felica_getpmm ( felica f,
uint8 buf 
)

PMm 取得

引数:
[in] f felica ハンドル
[out] buf PMm を格納するバッファ(8バイト)

felica* felica_polling ( pasori p,
uint16  systemcode,
uint8  RFU,
uint8  timeslot 
)

FeliCa をポーリングする

引数:
[in] p pasoriハンドル
[in] systemcode システムコード
[in] RFU RFU (使用しない)
[in] timeslot タイムスロット
戻り値:
felicaハンドル

int felica_read_without_encryption02 ( felica f,
int  servicecode,
int  mode,
uint8  addr,
uint8 data 
)

暗号化されていないブロックを読み込む

引数:
[in] f felicaハンドル
[in] servicecode サービスコード
[in] mode モード(使用しない)
[in] addr ブロック番号
[out] data データ(16バイト)
戻り値:
エラーコード
サービスコード、ブロック番号を指定してブロックを読み込む。 システムコードは felica_polling で指定したものが使用される。

int felica_write_without_encryption ( felica f,
int  servicecode,
uint8  addr,
uint8 data 
)

暗号化されていないブロックを書き込む

引数:
[in] f felicaハンドル
[in] servicecode サービスコード
[in] mode モード(使用しない)
[in] addr ブロック番号
[out] data データ(16バイト)
戻り値:
エラーコード
サービスコード、ブロック番号を指定してブロックを読み込む。 システムコードは felica_polling で指定したものが使用される。 注意!!! 本関数は未テスト!!!!!

void pasori_close ( pasori p  ) 

PaSoRi ハンドルをクローズする

引数:
[in] p pasoriハンドル
felica.dll を解放する

int pasori_init ( pasori p  ) 

PaSoRi を初期化する

引数:
[in] p pasoriハンドル
戻り値:
エラーコード

pasori* pasori_open ( char *  dummy  ) 

PaSoRi をオープンする

引数:
[in] dummy ダミー (libpasori との互換性のため)
戻り値:
pasori ハンドル
felica.dll をロード、初期化する


felicalibに対してSun Nov 18 21:27:49 2007に生成されました。  doxygen 1.5.3