2025-04-27 07:49:33 -04:00

269 lines
9.3 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**************************************************************************
*
* HWR_FILE.H Created: 21.01.92
*
* This file contains the function prototypes needed for some basic
* functions, data definitions and function prototypes needed for
* file handling functions,
*
**************************************************************************/
#ifndef FILE_DEFINED /* See #endif in the end of file. */
#define FILE_DEFINED
#include "bastypes.h"
#include "hwr_sys.h"
#if !defined(HWR_SYSTEM_NO_LIBC) && HWR_SYSTEM == HWR_ANSI
#include <stdio.h>
#define HWR_FILENAME_MAX FILENAME_MAX
#endif
#ifndef HWR_FILENAME_MAX
#define HWR_FILENAME_MAX 1024
#endif
#ifndef HFILE_TO_VALUE
typedef p_VOID _HFILE;
#define VALUE_TO_HFILE VALUE_TO_PTR
#define HFILE_TO_VALUE PTR_TO_VALUE
#endif
typedef _HFILE _PTR p_HFILE;
#ifndef HTEXT_TO_VALUE
typedef p_VOID _HTEXT;
#define VALUE_TO_HTEXT VALUE_TO_PTR
#define HTEXT_TO_VALUE PTR_TO_VALUE
#endif
typedef _HTEXT _PTR p_HTEXT;
#ifndef HFIND_TO_VALUE
typedef _HMEM _HFIND;
#define VALUE_TO_HFIND VALUE_TO_HMEM
#define HFIND_TO_VALUE HMEM_TO_VALUE
#endif
typedef _HFIND _PTR p_HFIND;
#ifndef HSEEK_TO_VALUE
typedef _LONG _HSEEK;
#define VALUE_TO_HSEEK VALUE_TO_LONG
#define HSEEK_TO_VALUE LONG_TO_VALUE
#endif
typedef _HSEEK _PTR p_HSEEK;
/* Values available for Open (parameter wRdWrAccess HWRFileOpend and
HWRTextOpen) */
#define HWR_FILE_NORMAL 0
#define HWR_FILE_RDWR 0
#define HWR_FILE_RDONLY 1
#define HWR_FILE_WRONLY 2
#define HWR_TEXT_NORMAL 0
#define HWR_TEXT_RDWR 0
#define HWR_TEXT_RDONLY 1
#define HWR_TEXT_WRONLY 2
/* Origin constants for seek (parameter wOrigin in function HWRFileSeek) */
#define HWR_FILE_SEEK_SET 0
#define HWR_FILE_SEEK_CUR 1
#define HWR_FILE_SEEK_END 2
/* Constants for seek (parameter hSeek in function HWRTextSeek) */
#define HWR_TEXT_SEEK_BEGIN ((_LONG)(-2L))
#define HWR_TEXT_SEEK_END ((_LONG)(-3L))
/* EOF constants */
#define HWR_FILE_EOF ((_WORD)(_INT)-1)
#define HWR_TEXT_EOF ((_WORD)(_INT)-1)
/* Open mode for file functions (parameter wOpenMode in function HWRFileOpen) */
#define HWR_FILE_EXIST_OPEN 0x01
#define HWR_FILE_EXIST_CREATE 0x02
#define HWR_FILE_EXIST_ERROR 0x03
#define HWR_FILE_EXIST_UNIQUE 0x04
#define HWR_FILE_EXIST_APPEND 0x05
#define HWR_FILE_NOTEXIST_CREATE 0x10
#define HWR_FILE_NOTEXIST_ERROR 0x20
#define HWR_FILE_EXIST_MASK 0x0F
#define HWR_FILE_NOTEXIST_MASK 0xF0
#define HWR_FILE_EXCL (HWR_FILE_EXIST_OPEN|HWR_FILE_NOTEXIST_ERROR)
#define HWR_FILE_OPEN (HWR_FILE_EXIST_OPEN|HWR_FILE_NOTEXIST_CREATE)
#define HWR_FILE_CREAT HWR_FILE_OPEN
#define HWR_FILE_TRUNC (HWR_FILE_EXIST_CREATE|HWR_FILE_NOTEXIST_CREATE)
#define HWR_FILE_APPEND (HWR_FILE_EXIST_APPEND|HWR_FILE_NOTEXIST_CREATE)
/* Open mode for text functions (parameter wOpenMode in function HWRTextOpen) */
#define HWR_TEXT_EXIST_OPEN 0x01
#define HWR_TEXT_EXIST_CREATE 0x02
#define HWR_TEXT_EXIST_ERROR 0x03
#define HWR_TEXT_EXIST_UNIQUE 0x04
#define HWR_TEXT_EXIST_APPEND 0x05
#define HWR_TEXT_NOTEXIST_CREATE 0x10
#define HWR_TEXT_NOTEXIST_ERROR 0x20
#define HWR_TEXT_EXIST_MASK 0x0F
#define HWR_TEXT_NOTEXIST_MASK 0xF0
#define HWR_TEXT_EXCL (HWR_TEXT_EXIST_OPEN|HWR_TEXT_NOTEXIST_ERROR)
#define HWR_TEXT_OPEN (HWR_TEXT_EXIST_OPEN|HWR_TEXT_NOTEXIST_CREATE)
#define HWR_TEXT_CREAT HWR_TEXT_OPEN
#define HWR_TEXT_TRUNC (HWR_TEXT_EXIST_CREATE|HWR_TEXT_NOTEXIST_CREATE)
#define HWR_TEXT_APPEND (HWR_TEXT_EXIST_APPEND|HWR_TEXT_NOTEXIST_CREATE)
/* Binary file functions */
_HFILE HWRFileOpen (_STR zPathName, _WORD wRdWrAccess, _WORD wOpenMode);
/* <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD>, <20>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD> <20><><EFBFBD>2. wRdWrAccess - <20><>ǧǒ <20>ǧ¹ȇ - <20><> <20>„<EFBFBD><C284>E,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>2<EFBFBD> ǒ<>Ǘ2<C797><32><EFBFBD>E. wOpenMode - ‡<> <20><><EFBFBD>a<EFBFBD><61><EFBFBD>° <20><><EFBFBD>2. <20><><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD>§U
<20><><EFBFBD><EFBFBD>2<EFBFBD><32>Ǘ<EFBFBD>° <20><>4<EFBFBD><34><EFBFBD><EFBFBD><61><C797><EFBFBD><EFBFBD><EFBFBD> <20><>a<EFBFBD><61><EFBFBD>¶:
HWR_FILE_EXCL - <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><>2<EFBFBD><32><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>—<EFBFBD>E<EFBFBD><45><EFBFBD> <20><><EFBFBD>2, <20><>2<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD>‡.
HWR_FILE_OPEN - <20><>2<EFBFBD> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD>, <20><> <20><> <20>Ǽ<EFBFBD><C7BC><EFBFBD>§U. <20><>2<EFBFBD> <20><>° - <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD>§U.
HWR_FILE_CREAT - <20><> <20><>, <20><><EFBFBD> <20> HWR_FILE_OPEN.
HWR_FILE_TRUNC - <20><><EFBFBD>2 <20>Ǽ<EFBFBD><C7BC><EFBFBD>§U <20><><EFBFBD>Ǘ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD> <20><> <20>ǜ<EFBFBD> <20><>° <20><> <20>2<EFBFBD> <20><><EFBFBD>.
HWR_FILE_APPEND - <20><>» ‡<> <20> HWR_FILE_OPEN, <20><> <20>ǧ2<C7A7> <20><><EFBFBD>a<EFBFBD><61><EFBFBD>U <20>‡<EFBFBD><C287>„2<C284>
<20>„<EFBFBD><C284>U/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>‡<EFBFBD><C287><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD>.
<20>Ǽ<EFBFBD>a<EFBFBD><61> - Handle <20>2<EFBFBD> _NULL <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„
*/
_WORD HWRFileRead (_HFILE hFile, p_VOID pReadBuffer,
_WORD wNumberOfBytes);
/* <20>„<EFBFBD><C284><EFBFBD> <20><> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD><EFBFBD>. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD>‡<EFBFBD><C287><EFBFBD>o <20><><EFBFBD><EFBFBD> (0 <20><>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<20><><EFBFBD>‡<32> <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ <20>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD>.
*/
_WORD HWRFileWrite (_HFILE hFile, p_VOID pWriteBuffer,
_WORD wNumberOfBytes);
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>2 <20><><EFBFBD><EFBFBD>. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o <20><><EFBFBD><EFBFBD> (0 <20><>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32> <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ <20>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 4<><34>‡ <20><> <20>ǧ<EFBFBD>„2<C284>.
*/
/* _WORD HWRFileXRead (_HFILE hFile, p_VOID pReadBuffer,
_WORD wNumberOfBytes); */
/* _WORD HWRFileXWrite (_HFILE hFile, p_VOID pReadBuffer,
_WORD wNumberOfBytes); */
_BOOL HWRFileSeek (_HFILE hFile, _LONG lOffset, _WORD wOrigin);
/* <20><>‡<EFBFBD>Ǘ‡ <20>‡<EFBFBD><C287>„2U <20>„<EFBFBD><C284>U/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><32><C7BB><EFBFBD><EFBFBD> lOffset <20><> 4<><34>ǖ<EFBFBD> wOrigin.
<20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> _TRUE <20><>2<EFBFBD> <20><><EFBFBD> <20>a<EFBFBD><61>2<EFBFBD> <20><>a4<61>2<EFBFBD><32><EFBFBD> <20> _FALSE <20><>2<EFBFBD> <20><><EFBFBD><EFBFBD>‡.
*/
_LONG HWRFileTell (_HFILE hFile);
/* <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> „¹<C284><C2B9>E <20>Ǽ<EFBFBD><C7BC><EFBFBD>E <20><><EFBFBD>2<EFBFBD> <20>2<EFBFBD> -1L <20><>2<EFBFBD> <20><><EFBFBD><EFBFBD>‡ <20>2<EFBFBD> <20>Ǽ<EFBFBD><C7BC><EFBFBD>U <20><>
<20><>a<EFBFBD><61><EFBFBD>2<EFBFBD><32><EFBFBD>.
*/
_BOOL HWRFileEOF (_HFILE hFile);
/* <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><> _NULL <20><>2<EFBFBD> <20>‡<EFBFBD><C287>„2<C284> <20>„<EFBFBD><C284>U/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD> <20> _NULL
<20> <20>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4 <20>2<EFBFBD><32><EFBFBD><EFBFBD>.
*/
_BOOL HWRFileClose (_HFILE hFile);
/* <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> _NULL <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„, _TRUE <20>a<EFBFBD> <20><>Ȅo<C884>.
*/
/* Text file functions */
_HTEXT HWRTextOpen (_STR zPathName, _WORD wRdWrAccess, _WORD wOpenMode);
/* <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD>, <20>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD> <20><><EFBFBD>2. wRdWrAccess - <20><>ǧǒ <20>ǧ¹ȇ - <20><> <20>„<EFBFBD><C284>E,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>2<EFBFBD> ǒ<>Ǘ2<C797><32><EFBFBD>E. wOpenMode - ‡<> <20><><EFBFBD>a<EFBFBD><61><EFBFBD>° <20><><EFBFBD>2. <20><><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD>§U
<20><><EFBFBD><EFBFBD>2<EFBFBD><32>Ǘ<EFBFBD>° <20><>4<EFBFBD><34><EFBFBD><EFBFBD><61><C797><EFBFBD><EFBFBD><EFBFBD> <20><>a<EFBFBD><61><EFBFBD>¶:
HWR_TEXT_EXCL - <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><>2<EFBFBD><32><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>—<EFBFBD>E<EFBFBD><45><EFBFBD> <20><><EFBFBD>2, <20><>2<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD>‡.
HWR_TEXT_OPEN - <20><>2<EFBFBD> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD>, <20><> <20><> <20>Ǽ<EFBFBD><C7BC><EFBFBD>§U. <20><>2<EFBFBD> <20><>° - <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD>§U.
HWR_TEXT_CREAT - <20><> <20><>, <20><><EFBFBD> <20> HWR_TEXT_OPEN.
HWR_TEXT_TRUNC - <20><><EFBFBD>2 <20>Ǽ<EFBFBD><C7BC><EFBFBD>§U <20><><EFBFBD>Ǘ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD> <20><> <20>ǜ<EFBFBD> <20><>° <20><> <20>2<EFBFBD> <20><><EFBFBD>.
HWR_TEXT_APPEND - <20><>» ‡<> <20> HWR_TEXT_OPEN, <20><> <20>ǧ2<C7A7> <20><><EFBFBD>a<EFBFBD><61><EFBFBD>U <20>‡<EFBFBD><C287>„2<C284>
<20>„<EFBFBD><C284>U/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>‡<EFBFBD><C287><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD>.
<20>Ǽ<EFBFBD>a<EFBFBD><61> - Handle <20>2<EFBFBD> _NULL <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„
*/
#if HWR_SYSTEM == HWR_MACINTOSH || HWR_SYSTEM == HWR_ANSI
#define hwr_stdin hwr_getstdin()
#define hwr_stdout hwr_getstdout()
#define hwr_stderr hwr_getstderr()
_HTEXT hwr_getstdin(_VOID);
_HTEXT hwr_getstdout(_VOID);
_HTEXT hwr_getstderr(_VOID);
_WORD _FVPREFIX HWRTextPrintf (_HTEXT hText, _STR pFormatString, ... );
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> printf. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o <20><>4<EFBFBD><34>2Ǘ, <20> <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ -
HWR_TEXT_EOF.
*/
_WORD _FVPREFIX HWRTextSPrintf (p_CHAR pcBuffer, _STR pFormatString, ... );
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sprintf. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o <20><>4<EFBFBD><34>2Ǘ, <20> <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ -
HWR_TEXT_EOF.
*/
#else
#define HWRTextSPrintf sprintf
#define HWRTextPrintf fprintf
#endif /* HWR_SYSTEM */
/* _WORD _FVPREFIX HWRTextScanf (_HTEXT hText, _STR pFormatString, ... ); */
/* <20><>‡ <20><> a<><61><EFBFBD>‡<EFBFBD><C287>.
*/
/* _WORD HWRTextGetLine (_HTEXT hText, p_VOID pBuffer); */
/* <20><><EFBFBD>µ<EFBFBD>U <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>‡ <20><>ǒ<EFBFBD><C792> - <20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>„ HWRTextGetS.
*/
_WORD HWRTextGetC (_HTEXT hText);
/* <20><>ǖ <20><>4<EFBFBD><34>2<EFBFBD>. <20>a<EFBFBD><61><EFBFBD><EFBFBD>ǖ<EFBFBD>§U <20>a<EFBFBD><61><EFBFBD>2U<32><55>U \r\n. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>4<EFBFBD><34>2,
<20> <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ HWR_TEXT_EOF.
*/
_WORD HWRTextPutC (_WORD wChar, _HTEXT hText);
/* <20><><EFBFBD>ǖ <20><>4<EFBFBD><34>2<EFBFBD>. <20>a<EFBFBD><61><EFBFBD><EFBFBD>ǖ<EFBFBD>§U <20>a<EFBFBD><61><EFBFBD>2U<32><55>U \r\n. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>4<EFBFBD><34>2,
<20> <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ HWR_TEXT_EOF.
*/
_STR HWRTextGetS (_STR zStr, _WORD wMaxSize, _HTEXT hText);
/* <20><>ǖ <20><>a<EFBFBD><61><EFBFBD>. <20>a<EFBFBD><61><EFBFBD><EFBFBD>ǖ<EFBFBD>§U <20>a<EFBFBD><61><EFBFBD>2U<32><55>U \r\n. wMaxSize - a<><61>4<EFBFBD>a <20><><EFBFBD><EFBFBD>a<EFBFBD> <20>2U
<20>a<EFBFBD><61>4<EFBFBD> <20><>a<EFBFBD><61><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>„ <20> \0, <20><><EFBFBD><EFBFBD>a<EFBFBD><61> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǒ<EFBFBD><C792>2U<32>§U <20> <20><><EFBFBD><EFBFBD><EFBFBD> -
<20>2U <20><><EFBFBD><EFBFBD> <20>ǻ<EFBFBD> <20><><EFBFBD><EFBFBD> 4<><34><EFBFBD><EFBFBD>). <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD>§U _NULL <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ <20> zStr <20>a<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><>4!
*/
_BOOL HWRTextPutS (_STR zStr, _HTEXT hText);
/* <20><><EFBFBD>ǖ <20><>a<EFBFBD><61><EFBFBD>. <20>a<EFBFBD><61><EFBFBD><EFBFBD>ǖ<EFBFBD>§U <20>a<EFBFBD><61><EFBFBD>2U<32><55>U \r\n. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD>§U _NULL <20>a<EFBFBD>
<20><><EFBFBD><EFBFBD>„ <20> _TRUE <20>a<EFBFBD> <20><>Ȅo<C884>.
*/
_BOOL HWRTextEOF (_HTEXT hText);
/* <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><> _NULL <20><>2<EFBFBD> <20>‡<EFBFBD><C287>„2<C284> <20>„<EFBFBD><C284>U/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2<EFBFBD> <20> _NULL
<20> <20>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4 <20>2<EFBFBD><32><EFBFBD><EFBFBD>.
*/
_HSEEK HWRTextTell (_HTEXT hText);
/* <20><>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> „¹<C284><C2B9>E <20>Ǽ<EFBFBD><C7BC><EFBFBD>E <20><><EFBFBD>2<EFBFBD> <20>2U <20>ǜ<EFBFBD>, <20><>ǒ<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4 <20><>ȇ<EFBFBD>°
¹<><C2B9> <20><> (<28><>2<EFBFBD><32><EFBFBD> ¹<><C2B9> <20><>!). <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> _NULL <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„ <20> <20><><EFBFBD><EFBFBD><EFBFBD> handle
<20>a<EFBFBD> <20><>Ȅo<C884>. <20><><EFBFBD><EFBFBD> handle 4ǻ<34><C7BB> <20><><EFBFBD><EFBFBD>2<EFBFBD><32>Ǘ<EFBFBD>° <20><>2<EFBFBD><32><EFBFBD> <20> <20><><EFBFBD>µ<EFBFBD><C2B5> HWRTextSeek.
*/
_BOOL HWRTextSeek (_HTEXT hText, _HSEEK hSeek);
/* <20><>‡<EFBFBD><C287><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2 <20> <20>Ǽ<EFBFBD><C7BC><EFBFBD>E <20><>a<EFBFBD><61><EFBFBD>2U<32>4<EFBFBD>E hSeek. hSeek - 2<><32><EFBFBD> a<><61><EFBFBD>2<EFBFBD>‡<EFBFBD>
<20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>U HWRTextTell, 2<> <20><> ǖ<><C796> <20><> <20><><EFBFBD><EFBFBD>‡<EFBFBD><C287> HWR_TEXT_SEEK_BEGIN
<20>2<EFBFBD> HWR_TEXT_SEEK_END. <20><>a<EFBFBD><61><EFBFBD>„ <20><><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>‡<EFBFBD><C287>
HWR_FILE_SEEK_END <20> HWR_TEXT_SEEK_END <20><><6F><C7BB> <20>4<EFBFBD><34><EFBFBD>, <20><> <20>Ǘ<EFBFBD><61><DB84><EFBFBD>
a<><61><EFBFBD><EFBFBD><EFBFBD> <20>4<EFBFBD><34>2 <20>, <20><><EFBFBD>—<EFBFBD>§—<C2A7><C297><EFBFBD><EFBFBD>, a<><61><EFBFBD>DŽ <20><><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>.
*/
_BOOL HWRTextClose (_HTEXT hText);
/* <20><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2. <20>Ǽ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD> _NULL <20>a<EFBFBD> <20><><EFBFBD><EFBFBD>„, _TRUE <20>a<EFBFBD> <20><>Ȅo<C884>.
*/
typedef struct {
_STR zFileName;
_LONG lFileSize;
} _FileFind, _PTR p_FileFind;
_HFIND HWRFileFindOpen (_STR zPathName, _WORD wAttr);
p_FileFind HWRFileFind (_HFIND hFind);
_BOOL HWRFileFindClose (_HFIND hFind);
#endif /* FILE_DEFINED */