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