/// <summary> /// Set position indicator of stream /// Restores the current position in the stream to pos. /// /// The internal file position indicator associated with stream is set to the position represented by /// pos, which is a pointer to an fpos_t object whose value shall have been previously obtained by a call /// to fgetpos. /// /// The end-of-file internal indicator of the stream is cleared after a successful call to this function, /// and all effects from previous calls to ungetc on this stream are dropped. /// /// On streams open for update (read+write), a call to fsetpos allows to switch between reading and writing. /// /// A similar function, fseek, can be used to set arbitrary positions on streams open in binary mode. /// </summary> /// <param name="fileNum"></param> /// <param name="pos"></param> /// <returns> /// If successful, the function returns zero. /// On failure, a non-zero value is returned and errno is set to a system-specific positive value. /// </returns> public int FSetPos(int fileNum, FPos_T pos) { // Does nothing right now throw new NotImplementedException("Not Implemented"); }
/// <summary> /// Get current position in stream /// Retrieves the current position in the stream. /// /// The function fills the fpos_t object pointed by pos with the information needed from the stream's position /// indicator to restore the stream to its current position (and multibyte state, if wide-oriented) with a call /// to fsetpos. /// /// The ftell function can be used to retrieve the current position in the stream as an integer value. /// </summary> /// <param name="fileNum"></param> /// <param name="pos"></param> /// <returns> /// On success, the function returns zero. /// In case of error, errno is set to a platform-specific positive value and the function returns a non-zero value. /// </returns> public int FGetPos(int fileNum, FPos_T pos) { if (pos == null) pos = new FPos_T(); try { pos.off = GetPosition(fileNum); return 0; } catch (Exception ex) { } return -1; }