{
{ BAI$REWIND

/rewind/
    BEGIN
      IF NOT ((pfc$read IN file_instance^.instance_attributes.dynamic_label.
            access_mode) OR (pfc$modify IN file_instance^.instance_attributes.
            dynamic_label.access_mode) OR (pfc$shorten IN
            file_instance^.instance_attributes.dynamic_label.access_mode) OR
            (pfc$append IN file_instance^.instance_attributes.dynamic_label.
            access_mode)) THEN
        amp$set_file_instance_abnormal (file_identifier,
              ame$improper_access_attempt, call_block.operation,
              ' READ or WRITE', status);
        EXIT /rewind/; {----->
      IFEND;

      IF file_instance^.global_file_information = NIL THEN
{error}
        EXIT /rewind/; {----->
      IFEND;

      IF file_instance^.access_level = amc$segment THEN
        amp$set_file_instance_abnormal (file_identifier,
              ame$conflicting_access_level, call_block.operation,
              ' SEGMENT ACCESS', status);
        EXIT /rewind/; {----->
      IFEND;

      IF file_instance^.private_read_information <> NIL THEN
        file_instance^.private_read_information^.positioning_info :=
              fmv$global_file_information.positioning_info;
      ELSE
        file_instance^.global_file_information^.positioning_info :=
              fmv$global_file_information.positioning_info;
      IFEND;
    END /rewind/;

{ end of BAI$REWIND
{
