Otherwise, a value of -1 is returned and errno is set to indicate the error. For all files that are not character or block special files, the integer returned on successful completion is non-negative. For character or block special files that correspond to disk sections larger than 2 gigabytes, a non-negative integer is returned for successful seeks beyond 2 gigabytes. This value is the resulting file offset as measured in bytes from the beginning of the file, when taken as an unsigned value. The resulting file offset would be negative.
Some devices are incapable of seeking.
The value of the file offset associated with such a device is undefined.