# FS_RegisterEventHook

## 構文

    #include <nitro/fs.h>

    typedef u32 FSEvent;
    #define FS_EVENT_MEDIA_INSERTED 0x00000001
    #define FS_EVENT_MEDIA_REMOVED  0x00000002

    typedef void (*FSEventFunction)(void *userdata, FSEvent event, void *argument);

    void FS_RegisterEventHook(const char *arcname, FSEventHook *hook, FSEventFunction callback, void *userdata);

## 引数

arcname | 登録対象のアーカイブ名
hook | 登録に使用するフック構造体のポインタ
callback | イベント発生時に呼び出されるべきコールバック
userdata | コールバック引数に与えられる任意のユーザ定義データ (不要ならNULL)

## 返り値

なし

## 説明

指定したアーカイブのイベント通知に対するフックを登録します。
この関数は主に、DSカードやSDカードなどいわゆるリムーバブルメディアのイベントを監視するために使用することが出来ます。
通知されるイベントは以下の通りです。

event | 意味 | arg
FS_EVENT_MEDIA_INSERTED | アーカイブと関連のあるメディアが挿入されたことを示します。 | 常にNULL
FS_EVENT_MEDIA_REMOVED | アーカイブと関連のあるメディアが取り外されたことを示します。 | 常にNULL

## 注意

- 登録したコールバック関数は割り込みハンドラから呼び出される点に注意してください。

## 参照

`FS_UnregisterEventHook`

## 履歴

2007/12/06 初版