Man page - libmagic(3)

Packages contains this manual

Available languages:

en ja

Manual


MAGIC (3) Library Functions Manual MAGIC (3)

名 前

magic_open , magic_close , magic_error , magic_file , magic_buffer , magic_setflags , magic_check , magic_compile , magic_load — マ ジ ッ ク ナ ン バ ー 識 別 ラ イ ブ ラ リ

ラ イ ブ ラ リ

Magic Number Recognition Library (libmagic, -lmagic)

書 式

< magic.h > magic_t magic_open ( int flags ) void magic_close ( magic_t cookie ) const char * magic_error ( magic_t cookie ) int magic_errno ( magic_t cookie ) const char * magic_file ( magic_t cookie, const char *filename ) const char * magic_buffer ( magic_t cookie, const void *buffer, size_t length ) int magic_setflags ( magic_t cookie, int flags ) int magic_check ( magic_t cookie, const char *filename ) int magic_compile ( magic_t cookie, const char *filename ) int magic_load ( magic_t cookie, const char *filename )

説 明

こ れ ら の 関 数 は magic (4) に 記 述 さ れ て い る magic デ ー タ ベ ー ス フ ァ イ ル を 操 作 す る 。

関 数 magic_open () は マ ジ ッ ク ク ッ キ ー ポ イ ン タ を 生 成 し て 返 す 。 マ ジ ッ ク ク ッ キ ー の 割 り 当 て に エ ラ ー が あ っ た 場 合 、 こ の 関 数 は NULL を 返 す 。 flags 引 き 数 は 、 他 の マ ジ ッ ク 関 数 の 挙 動 を 指 定 す る 。

MAGIC_NONE

特 別 な 処 理 を 行 わ な い 。

MAGIC_DEBUG

標 準 エ ラ ー 出 力 に デ バ ッ グ メ ッ セ ー ジ を 表 示 す る 。

MAGIC_SYMLINK

ク エ リ し た フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク で あ っ た 場 合 は 、 そ れ を 辿 る 。

MAGIC_COMPRESS

フ ァ イ ル が 圧 縮 さ れ て い た 場 合 は 、 展 開 し て 内 容 を 読 み 込 む 。

MAGIC_DEVICES

フ ァ イ ル が ブ ロ ッ ク ス ペ シ ャ ル デ バ イ ス ま た は キ ャ ラ ク タ ス ペ シ ャ ル デ バ イ ス で あ っ た 場 合 、 デ バ イ ス を オ ー プ ン し て 内 容 を 読 み 込 も う と す る 。

MAGIC_MIME

説 明 文 で は な く mime 文 字 列 を 返 す 。

MAGIC_CONTINUE

最 初 に マ ッ チ し た も の だ け で は な く 、 マ ッ チ し た 全 て を 返 す 。

MAGIC_CHECK

magic デ ー タ ベ ー ス の 整 合 性 を チ ェ ッ ク し 、 標 準 エ ラ ー 出 力 に 警 告 を 表 示 す る 。

MAGIC_PRESERVE_ATIME

utime (2) ま た は utimes (2) を サ ポ ー ト す る シ ス テ ム で は 、 解 析 さ れ た フ ァ イ ル の ア ク セ ス 時 刻 を 保 存 し よ う と す る 。

MAGIC_RAW

印 刷 不 能 文 字 を \ooo の よ う な 8 進 数 表 現 に 変 換 し な い 。

MAGIC_ERROR

フ ァ イ ル や シ ン ボ リ ッ ク リ ン ク を オ ー プ ン し よ う と し て い る 間 に OS の エ ラ ー が 起 こ っ た 場 合 、 マ ジ ッ ク バ ッ フ ァ に エ ラ ー を 表 示 せ ず 、 実 際 の エ ラ ー と し て 扱 う 。

magic_close () 関 数 は magic (4) デ ー タ ベ ー ス を ク ロ ー ズ し て 、 使 用 さ れ て い る 全 て の リ ソ ー ス を 解 放 す る 。

magic_error () 関 数 は 最 後 に 発 生 し た エ ラ ー の 説 明 文 を 返 す 。 エ ラ ー が な い 場 合 は NULL を 返 す 。

magic_errno () 関 数 は シ ス テ ム コ ー ル に よ っ て 最 後 に 発 生 し た OS エ ラ ー の 番 号 ( errno (3)) を 返 す 。

magic_file () 関 数 は filename 引 き 数 で 指 定 さ れ た フ ァ イ ル の 内 容 に つ い て の 説 明 文 を 返 す 。 エ ラ ー が 起 っ た 場 合 は NULL を 返 す 。 filename が NULL の 場 合 は 標 準 入 力 を 使 う 。

magic_buffer () 関 数 は バ イ ト サ イ ズ length の 引 き 数 buffer の 内 容 に つ い て 、 説 明 文 を 返 す 。

magic_setflags () 関 数 は 上 記 の flags を 設 定 す る 。

magic_check () 関 数 を 使 っ て 、 デ ー タ ベ ー ス フ ァ イ ル の エ ン ト リ が 有 効 で あ る か を 検 証 で き る 。 検 証 さ れ る デ ー タ ベ ー ス は 、 コ ロ ン 区 切 り の フ ァ イ ル リ ス ト の 形 式 で 、 filename で 指 定 さ れ る 。 filename が NULL の 場 合 は デ フ ォ ル ト の デ ー タ ベ ー ス を 検 証 す る 。 検 証 が 成 功 し た 場 合 は 0 を 返 し 、 失 敗 し た 場 合 は -1 を 返 す 。

magic_compile () 関 数 を 使 っ て 、 デ ー タ ベ ー ス を コ ン パ イ ル で き る 。 コ ン パ イ ル さ れ る デ ー タ ベ ー ス は 、 コ ロ ン 区 切 り の フ ァ イ ル リ ス ト の 形 式 で 、 filename で 指 定 さ れ る 。 filename が NULL の 場 合 は 、 デ フ ォ ル ト の デ ー タ ベ ー ス が コ ン パ イ ル さ れ る 。 コ ン パ イ ル が 成 功 し た 場 合 は 0 を 返 し 、 失 敗 し た 場 合 は -1 を 返 す 。 コ ン パ イ ル し て 生 成 さ れ た フ ァ イ ル の 名 前 は 、 各 フ ァ イ ル 引 き 数 に basename (1) を 適 用 し て ".mgc" を 追 加 し た も の に な る 。

何 か マ ジ ッ ク ク エ リ を 実 行 す る 前 に は 、 magic_load () 関 数 を 使 っ て デ ー タ ベ ー ス フ ァ イ ル を ロ ー ド し な け れ ば な ら な い 。 ロ ー ド す る デ ー タ ベ ー ス は 、 コ ロ ン 区 切 り の フ ァ イ ル リ ス ト の 形 式 で 、 filename で 指 定 さ れ る 。 filename が NULL の 場 合 は 、 デ フ ォ ル ト の デ ー タ ベ ー ス が ロ ー ド さ れ る 。

デ フ ォ ル ト の デ ー タ ベ ー ス フ ァ イ ル は 、 環 境 変 数 MAGIC に よ っ て 名 前 が 指 定 さ れ る 。 こ の 環 境 変 数 が 設 定 さ れ な い 場 合 、 デ フ ォ ル ト の デ ー タ ベ ー ス フ ァ イ ル 名 は /usr/share/file/magic で あ る 。

magic_load () デ ー タ ベ ー ス フ ァ イ ル 名 に ".mime" と ".mgc" を 適 宜 追 加 す る (ど ち ら か 一 方 の 場 合 も あ る )。

返 り 値

関 数 magic_open () が 成 功 し た 場 合 は マ ジ ッ ク ク ッ キ ー が 返 さ れ る 。 失 敗 し た 場 合 は NULL が 返 さ れ て 、 errno が 適 切 な 値 に 設 定 さ れ る 。 サ ポ ー ト さ れ て い な い 値 が フ ラ グ に 指 定 さ れ た 場 合 、 errno が EINVAL に 設 定 さ れ る 。 magic_load (), magic_compile (), magic_check () 関 数 が 成 功 し た 場 合 は 0 が 返 さ れ 、 失 敗 し た 場 合 は -1 が 返 さ れ る 。 magic_file (), magic_buffer () 関 数 が 成 功 し た 場 合 は 文 字 列 が 返 さ れ 、 失 敗 し た 場 合 は NULL が 返 さ れ る 。 magic_error () 関 数 は 上 記 の 関 数 の エ ラ ー の 説 明 文 を 返 す 。 エ ラ ー が な い 場 合 は NULL を 返 す 。 そ し て 、 utime (2) ま た は utimes (2) が サ ポ ー ト さ れ て い な い シ ス テ ム で MAGIC_PRESERVE_ATIME が 設 定 さ れ る と 、 magic_setflags () は -1 を 返 す 。

フ ァ イ ル
/usr/share/file/magic.mime

コ ン パ イ ル さ れ て い な い デ フ ォ ル ト の magic mime デ ー タ ベ ー ス 。

/usr/share/file/magic.mime.mgc

コ ン パ イ ル 済 み の デ フ ォ ル ト の magic mime デ ー タ ベ ー ス 。

/usr/share/file/magic

コ ン パ イ ル さ れ て い な い デ フ ォ ル ト の magic デ ー タ ベ ー ス 。

/usr/share/file/magic.mgc

コ ン パ イ ル 済 み の デ フ ォ ル ト の magic デ ー タ ベ ー ス 。

関 連 項 目

file (1), magic (4)

著 者

Mans Rullgard が 最 初 の libmagic の 実 装 と 構 成 を 行 っ た 。 Christos Zoulas は API を 整 理 し 、 エ ラ ー コ ー ド と (マ ジ ッ ク ク ッ キ ー の ) 割 り 当 て を 実 装 し た 。 Debian March 22, 2003 MAGIC (3)