EN JA
ARCHIVE_WRITE_BLOCKSIZE(3)
ARCHIVE_WRITE_BLOCKSIZE(3) FreeBSD Library Functions Manual ARCHIVE_WRITE_BLOCKSIZE(3)

名称

archive_write_get_bytes_per_block, archive_write_set_bytes_per_block, archive_write_get_bytes_in_last_block, archive_write_set_bytes_in_last_blockアーカイブを作成するための関数

ライブラリ

ストリーミングアーカイブライブラリ (libarchive, -larchive)

書式

#include < archive.h>

int
archive_write_get_bytes_per_block( struct archive *);

int
archive_write_set_bytes_per_block( struct archive *, int bytes_per_block);

int
archive_write_get_bytes_in_last_block( struct archive *);

int
archive_write_set_bytes_in_last_block( struct archive *, int);

解説

archive_write_set_bytes_per_block()
アーカイブデータを書き込むための使用されるブロックサイズを設定します。書き込みコールバック関数へのすべての呼び出しは、たぶん最後のものを除いて、長さに対してこの値を使用します。デフォルトは、10240 バイトのブロックサイズを使用することです。 0 のブロックサイズは、内部ブロッキングを抑制し、書き込みが起こるときに、書き込みコールバックに直接送られることに注意してください。
archive_write_get_bytes_per_block()
書き込みのために使用されるブロックサイズを検索します。ここで、-1 の値は、ライブラリがデフォルト値を使用するべきであることを示します。 0 の値は、内部ブロッキングが抑制されることを示します。
archive_write_set_bytes_in_last_block()
最後のブロックを書き込むために使用されるブロックサイズを設定します。この値が 0 であるなら、最後のブロックは、他のブロックと同じサイズにパディングされます。そうでなければ、最終ブロックは、このサイズの倍数でパディングされます。特に、それを 1 に設定するすると、最終ブロックは、パディングされません。圧縮された出力については、このオプションによって生成されたあらゆるパディングは、圧縮の後にだけ適用されます。圧縮されていないデータは、常にパディングされていません。デフォルトは、完全なブロックサイズに最後のブロックをパディングすることです ( archive_write_open_filename() は、ファイルタイプに基づいて、これを設定することに注意してください)。他の“set”関数と異なり、アーカイブがオープンされた後に、この関数を呼び出すことができます。
archive_write_get_bytes_in_last_block()
最後のブロックサイズのために現在の設定値を検索します。ここで、-1 の値は、ライブラリがデフォルト値を使用するべきであることを示します。

戻り値

archive_write_set_bytes_per_block() と archive_write_set_bytes_in_last_block() は、成功すれば、 ARCHIVE_OK を返すか、または ARCHIVE_FATAL を返します。

archive_write_get_bytes_per_block() と archive_write_get_bytes_in_last_block() は、現在ブロックサイズ ( -1 は、デフォルトのブロックサイズを示します) を返すか、または ARCHIVE_FATAL を返します。

エラー

詳細のエラーコードとテキスト形式の記述は、 archive_errno() と archive_error_string() 関数で利用可能です。
February 2, 2012 FreeBSD