util.h
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:2k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. /*
  2. COW : Character Oriented Windows
  3. util.h : utilities, cow private interface
  4. Cmerge definitions from util.asm + sdmasm.asm
  5. */
  6. #ifdef DUAL
  7. #define NEARorFAR FAR
  8. #else /*!DUAL*/
  9. #define NEARorFAR NEAR
  10. #endif /*!DUAL*/
  11. /* BLTS : both : source, destination, count_of_bytes */
  12. VOID * FARPRIVATE bltbyte(VOID *, VOID *, WORD);
  13. VOID FARPRIVATE bltbytex(VOID far *, VOID far *, WORD);
  14. VOID FARPRIVATE stringcpy(char *, char *, WORD);
  15. WORD FARPRIVATE fstrlen(char far *);
  16. short FARPRIVATE fstrcmp(char far *, char far *);
  17. VOID FARPRIVATE fstrcpy(char far *, char far *);
  18. #define strlen(sz) fstrlen((char far *) (sz))
  19. #define strcpy(sz1, sz2) fstrcpy((char far *) (sz1), (char far *) (sz2))
  20. #ifdef EXTRAS
  21. int FARPRIVATE CchRealLenSz(char *);
  22. #else
  23. /* no special character => a character is a character */
  24. #define CchRealLenSz(sz) strlen(sz)
  25. #endif
  26. #define strlen(sz) fstrlen((char far *) (sz))
  27. /* * NEAR helper procedures */
  28. /* CORE segment */
  29. VOID NEARorFAR PASCAL DisableInterrupts(void);
  30. VOID NEARorFAR PASCAL EnableInterrupts(void);
  31. #ifdef DIRLIST /* in LISTBOX segment */
  32. BOOL NEARorFAR PASCAL FFindNext(struct _fde *);
  33. BOOL NEARorFAR PASCAL FFindFirst(struct _fde *, char *, WORD);
  34. VOID NEARorFAR PASCAL FindClose(void);
  35. WORD NEARorFAR PASCAL AtrOfPath(char *);
  36. char NEARorFAR PASCAL GetCurDrive(void);
  37. VOID NEARorFAR PASCAL SetCurDrive(char);
  38. VOID NEARorFAR PASCAL GetCurDir(char, char *);
  39. BOOL NEARorFAR PASCAL FSetCurDir(char *);
  40. #ifndef DOS5 /* fast fill for DOS 3 */
  41. VOID NEARorFAR PASCAL PrepareWild(struct _fcb *, char *);
  42. BOOL NEARorFAR PASCAL FMatchWild(struct _fcb *, char *);
  43. BOOL NEARorFAR PASCAL FValidDir(char *);
  44. #endif /*!DOS5*/
  45. #endif /*DIRLIST*/
  46. #ifdef SCROLL
  47. WORD NEAR PASCAL TranslatePosition(WORD, WORD, WORD, WORD, WORD, BOOL);
  48. #endif
  49. #ifdef SDM
  50. VOID NEAR PASCAL FillBuf(char *, char, WORD);
  51. #endif