{}
{   The purpose of this request is to build a block header in the}
{ user's buffer_area. The buffer_area may be located within a file opened}
{ with amc$segment access_level or in a space allocated by the program.}
{   The block header built by this request is compatible with one built}
{ by the access method when a amc$user_specified blocked file is created}
{ using amp$put requests. Thus a file created using this request may be}
{ read by a program which uses amp$get requests or amp$unpack_block_}
{ header.}
{   The file must be opened with amc$segment or amc$physical access_level}
{ and amc$user_specified block_type.}
{   If the label_type is amc$labelled, the block header will be recorded}
{ with the data written on a tape volume to aid reliability.  The length}
{ of the block header is fixed for all blocks in the file. The block}
{ header length is stored in the buffer_offset_length field of the}
{ ANSI standard HDR2 label for interchange purposes.}
{   This request performs a NEXT in the buffer_area sequence. When this}
{ request completes, the buffer_area variable contains a pointer to}
{ the first byte beyond the block header in the buffer. If insufficient}
{ space existed in the buffer for the block header, a NIL pointer is}
{ returned in the buffer_area variable along with abnormal status.}
{}
{       AMP$PACK_BLOCK_HEADER (FILE_IDENTIFIER, BUFFER_AREA, HEADER, STATUS)
{}
{ FILE_IDENTIFIER: (input) This parameter specifies the file access}
{       identifier established when the file was opened.}
{}
{ BUFFER_AREA: (input-output) This parameter specifies the location within}
{       the user buffer at which the block header will be stored. This request}
{       returns the address of the first byte beyond the block header in the}
{       buffer. A NIL pointer and abnormal status are returned if}
{       insufficient space exists in the buffer for the block header. This}
{       request assumes that the block header and the block will be stored}
{       contiguously in the buffer.}
{}
{ HEADER: (input) This parameter specifies the contents of the block}
{       header to be packed into the user's buffer area. This parameter}
{       is a record which includes the following fields: }
{        Header_type - specifies the type of block header to be created.}
{        Block_length - specifies the number of bytes in the data block}
{                       which will follow the block header in the buffer.}
{        Block_number - specifies the ordinal of the block in the file.}
{                       Blocks are numbered beginning with one (1). All}
{                       blocks must be written in numerical order to}
{                       facilitate positioning of tape volumes during}
{                       error recovery.}
{        Unused_bit_count - specifies the number of bits in the last byte}
{                           of data in the block which do not contain valid}
{                           information. This is provided if the unit}
{                           of transfer between memory and the destination}
{                           is not a multiple of 8 bit bytes.}
{}
{ STATUS: (output) This parameter specifies request status.}
{       CONDITION:  ame$ring_validation_error,
{       IDENTIFIER: amc$access_method_id.
{}
