diff options
Diffstat (limited to 'mcs/class/Mono.Posix/Mono.Unix/StdioFileStream.cs')
-rw-r--r-- | mcs/class/Mono.Posix/Mono.Unix/StdioFileStream.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mcs/class/Mono.Posix/Mono.Unix/StdioFileStream.cs b/mcs/class/Mono.Posix/Mono.Unix/StdioFileStream.cs index 7f2d04ebf5e..23c1f3c53e6 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/StdioFileStream.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/StdioFileStream.cs @@ -123,6 +123,21 @@ namespace Mono.Unix { } } + public FilePosition FilePosition { + get { + FilePosition pos = new FilePosition (); + int r = Stdlib.fgetpos (file, pos); + UnixMarshal.ThrowExceptionForLastErrorIf (r); + return pos; + } + set { + if (value == null) + throw new ArgumentNullException ("value"); + int r = Stdlib.fsetpos (file, value); + UnixMarshal.ThrowExceptionForLastErrorIf (r); + } + } + public override void Flush () { int r = Stdlib.fflush (file); @@ -164,6 +179,11 @@ namespace Mono.Unix { throw new ArgumentException ("would overrun buffer"); } + public void Rewind () + { + Stdlib.rewind (file); + } + public override long Seek (long offset, SeekOrigin origin) { AssertNotDisposed (); |