# seek

Команда изменяет позицию доступа открытого канала.

## СИНТАКСИС

          seek channelId offset ?origin?

## ОПИСАНИЕ

Команда изменяет текущую позицию доступа канала, заданного параметром channelId. Значение channelId должно быть идентификатором канала, который вернула предыдущая команда open или socket. Аргументы origin и offset задают новую позицию, в которой будет выполняться следующая операция чтения или записи. Аргумент offset должен быть целым числом (возможно, отрицательным), а аргумент origin может принимать одно из перечисленных ниже значений.

start
  Следующая позиция будет на расстоянии offset байтов от начала соответствующего файла или устройства.
current
  Следующая позиция будет на расстоянии offset байтов от текущей позиции. Отрицательное значение offset передвигает позицию назад.
end
  Следующая позиция будет на расстоянии offset байтов от конца файла или устройства. Отрицательное значение offset указывает на позицию до конца файла, а положительное - на позицию после конца файла.

Значение по умолчанию для аргумента origin равно start.

Выполнение команды влечет немедленную передачу всех данных из выходного буфера в файл или на выходное устройство. Команда не будет завершена до тех пор, пока все данные не будут переданы, даже если канал находится в неблокирующем режиме. Кроме того, будут удалены все не прочитанные данные из входного буфера. Команда возвращает пустую строку. Если команда используется для файла или канала, для которого не поддерживается произвольный доступ, она вернет ошибку.