/* AFPXVolMountInfo は新しい AFP ボリュームマウント情報レコードで、3.7 AppleShare Client を必要とする */
struct AFPXVolMountInfo {
short length; /* ロケーションデータの長さ (このフィールドそのものを含む) */
VolumeType media; /* メディアのタイプ */
short flags; /* メッセージ、再接続がないかどうかを指定するビット */
SInt8 nbpInterval; /* NBP Interval パラメータ (IM2, p.322 を参照) */
SInt8 nbpCount; /* NBP Interval パラメータ (IM2, p.322 を参照) */
short uamType; /* ユーザ認証方法のタイプ */
short zoneNameOffset; /* 構造体の先頭から Zone Name までの short で正のオフセット */
short serverNameOffset; /* Pascal 文字列 Server Name までのオフセット */
short volNameOffset; /* Pascal 文字列 Volume Name までのオフセット */
short userNameOffset; /* Pascal 文字列 User Name までのオフセット */
short userPasswordOffset; /* Pascal 文字列 User Password までのオフセット */
short volPasswordOffset; /* Pascal 文字列 Volume Password までのオフセット */
short extendedFlags; /* 拡張されたフラグワード */
short uamNameOffset; /* Pascal 文字列 UAM Name までのオフセット */
short alternateAddressOffset; /* タグフォーマットの Alternate Addresses までのオフセット */
char AFPData[176]; /* 可変長データが続く場合 */
};
typedef struct AFPXVolMountInfo AFPXVolMountInfo;
typedef AFPXVolMountInfo * AFPXVolMountInfoPtr;
/* ボリュームマウントフラグ */
enum {
volMountNoLoginMsgFlagBit = 0, /* VolumeMount への入力: セットされている場合、ファイルシステムは */
volMountNoLoginMsgFlagMask = 0x0001, /* ログインメッセージダイアログを表示しない */
volMountExtendedFlagsBit = 7, /* VolumeMount への入力: セットされている場合、マウント情報は */
volMountExtendedFlagsMask = 0x0080, /* 3.7 AppleShare Client に対応する AFPXVolMountInfo レコード */
volMountInteractBit = 15, /* VolumeMount への入力: セットされている場合、ファイルシステムが */
volMountInteractMask = 0x8000, /* ボリュームをマウントするためにユーザの操作を実行することが許可される */
volMountChangedBit = 14, /* VoumeMount からの出力: セットされている場合、ボリュームはマウントされていたが、 */
volMountChangedMask = 0x4000, /* ボリュームのマウント情報レコードは更新される必要がある */
volMountFSReservedMask = 0x00FF, /* ビット 0-7 はそれぞれのファイルシステムが独自に使用するために定義されている */
volMountSysReservedMask = 0xFF00 /* ビット 8-15は Apple システムが使用するために予約されている */
};
enum {
kAFPExtendedFlagsAlternateAddressMask = 1 /* AFPXVolMountInfo.extendedFlags のビットで、alternateAddressOffset が使用されていることを意味する */
};
|