kind=defined
names=sysseek
visibility=public

--- sysseek(offset, whence = IO::SEEK_SET)    -> Integer

[[man:lseek(2)]] と同じです。[[m:IO#seek]] では、
[[m:IO#sysread]], [[m:IO#syswrite]] と併用すると正しく動作しないので代わりにこのメソッドを使います。
位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。

書き込み用にバッファリングされた IO に対して実行すると警告が出ます。

  File.open("/dev/zero") {|f|
    buf = f.read(3)
    f.sysseek(0)
  }
  # => -:3:in `sysseek': sysseek for buffered IO (IOError)
  
  File.open("/dev/null", "w") {|f|
    f.print "foo"
    f.sysseek(0)
  }
  # => -:3: warning: sysseek for buffered IO

@param offset ファイルポインタを移動させるオフセットを整数で指定します。

@param whence 値は以下のいずれかです。

  * IO::SEEK_SET: ファイルの先頭から (デフォルト)
  * IO::SEEK_CUR: 現在のファイルポインタから
  * IO::SEEK_END: ファイルの末尾から

@raise IOError 読み込み用にバッファリングされた IO に対して実行すると発生します。
               既に close されていた場合にも発生します。 

@raise Errno::EXXX 移動に失敗した場合に発生します。

@see [[m:IO#seek]]


