Gauche-magic リファレンスマニュアル

For version 0.1.2

last update: Sun Dec 16 2007

http://www.fixedpoint.jp/gauche-magic/

API

class: <magic-set>

このオブジェクトは C の型 magic_t をラップします。


class: <magic-error>

libmagic 由来のエラーはこのクラスのオブジェクトとして生起します。

このエラーは2つのスロットを持ちます: "no" と "message" です。前者は magic 独自の errno を指します。


variable: MAGIC_NONE

variable: MAGIC_DEBUG

variable: MAGIC_SYMLINK

variable: MAGIC_COMPRESS

variable: MAGIC_DEVICES

variable: MAGIC_MIME

variable: MAGIC_CONTINUE

variable: MAGIC_CHECK

variable: MAGIC_PRESERVE_ATIME

variable: MAGIC_RAW

variable: MAGIC_ERROR

それぞれ C の同名の定数と同じ数値を値に持ちます。

互いに論理積が0になり、これらの論理和を magic-open や call-with-magic-set のフラグとして利用します。


procedure: magic-open flags

フラグ `flags' を指定して <magic-set> を返します。エラーが生じた場合は #f を返します。


procedure: magic-close ms

<magic-set> `ms' を閉じます。この関数を利用しなくても gc がいつか代わりにやってくれます。


procedure: magic-load ms path

`path' にあるマジックデータベースを読み込みます。


procedure: magic-check ms path

procedure: magic-compile ms path

`path' にあるマジックデータベースを整合性チェック、もしくはコンパイルをします。

`ms' のフラグのうち MAGIC_CHECK がオンでなければならず、そうでない場合はエラーとなります。


procedure: magic-file ms path

`path' にあるファイルの情報を文字列として返します。エラーが生じた場合は #f を返します。


parameter: default-magic-file

/usr/share/file/magic のような既定のマジックデータベースファイルのパスを返します。


procedure: call-with-magic-set proc &keyword db flags

フラグ `flags' を持つ <magic-set> を引数にして `proc' を呼びます。

フラグで MAGIC_CHECK がオフのとき(デフォルト)には、呼ぶ前にマジックデータベースをロードします。このデータベースはキーワード `db' で指定されたもの、指定されていない場合はデフォルトのものです。

エラーとともに戻る場合でもそうでない場合でも、引数に用いた <magic-set> は閉じられます。


© 2006,2007 Takeshi Abe