home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Aktief 1995 #6 / CDA_6.iso / shell / utils / disked29.arj / SOURCE.ZIP / MYLIB.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-08  |  3.7 KB  |  104 lines

  1. /***
  2. *mylib.h - definitions/declarations for library functions.
  3. *
  4. *for Public Domain, 1995, Gregg Jennings.  All wrongs reserved.
  5. *   P O Box 200, Falmouth, MA 02541-0200
  6. *
  7. *Purpose:
  8. *   Fast printing routines, user inputs, and miscelaneous
  9. *
  10. *Notice:
  11. *   This source file may be freely used and distributed without restriction.
  12. *******************************************************************************/
  13.  
  14. #ifndef GENERAL_H
  15. #include "general.h"    /* machine dependent and compiler */
  16. #endif                  /*  specific stuff */
  17.  
  18. /* user input type definitions (ctype stuff) */
  19.  
  20. #ifndef __WATCOMC__
  21.  
  22. #ifndef _PUNCT          /* use MSC equates */
  23. #define _UPPER    0x1   /* upper case letter */
  24. #define _LOWER    0x2   /* lower case letter */
  25. #define _DIGIT    0x4   /* digit[0-9] */
  26. #define _SPACE    0x8   /* tab, carriage return, newline, */
  27.                         /* vertical tab or form feed */
  28. #define _PUNCT    0x10  /* punctuation character */
  29. #define _CONTROL  0x20  /* control character */
  30. #define _BLANK    0x40  /* space char */
  31. #define _HEX      0x80  /* hexadecimal digit */
  32. #endif
  33.  
  34. #else
  35.  
  36. #define _HEX      _XDIGT
  37. #define _CONTROL  _CNTRL
  38. #define _BLANK    _SPACE
  39. #endif
  40.  
  41. #define _ALPHA (_UPPER|_LOWER)
  42. #define _ALNUM (_UPPER|_LOWER|_DIGIT)
  43. #define _TEXT  (_ALNUM|_PUNCT|_BLANK)
  44.  
  45.  
  46. /* number output */
  47.  
  48. extern unsigned char hexbyte(int a,int b);
  49. extern int pn(unsigned int n,int base);
  50. extern int pln(unsigned long n, int base);
  51. extern void pnls(unsigned int n,unsigned int length,int base);
  52. extern void pnlz(unsigned int n,unsigned int length,int base);
  53. extern void plnls(unsigned long n,unsigned int length,int base);
  54. extern void plnlz(unsigned long n,unsigned int length,int base);
  55.  
  56. extern int getlen(unsigned int n,int base);
  57. extern int getlength(unsigned long i,int base);
  58. extern int getnum(unsigned int max,unsigned int *num,int base);
  59. extern int getnumber(unsigned long max,void *num,int base);
  60.  
  61. /* string input */
  62.  
  63. extern int getstr(char *s,unsigned int len,int mask);
  64. extern int getver(char *s,int mode);
  65. enum GETVER_MODE { NONE, MOV_YN, MOV_ARG, CLR_ARG=5, CLR_YN };
  66. extern int convert(char *a);
  67.  
  68. /* misc. */
  69.  
  70. extern void directory(void );
  71. extern void pname(char *s);
  72. extern int search(unsigned char *s,unsigned char *t,unsigned int size,unsigned int len);
  73. extern int isearch(unsigned char *s,unsigned char *t,unsigned int size,unsigned int len);
  74. extern int change(unsigned char *buffer,unsigned int bufend,int base);
  75. extern void dispval(int x,int len,int base,int c);
  76. extern int dump(unsigned char *buffer,unsigned int bfptr,unsigned int bufend,unsigned int len,int base);
  77. extern void dumpf(register unsigned char *buffer,int size, int base);
  78. extern void pause(void);
  79. extern void viewfile(char *filename, int display);
  80.  
  81.  
  82. /* macros to make displaying of numbers easier to implement */
  83.  
  84. #ifndef DISKED                /* Radix is a global variable */
  85. #define Radix   10            /* DISKED uses a structure entry */
  86. #endif                        /* This is here for non-DISKED usage */
  87.                               /* define Radix for you own use */
  88.  
  89. #define getbyte(n)   getnum(255,n,Radix)
  90. #define getint(n)    getnum(32767,n,Radix)
  91. #define getuint(n)   getnum(65535,n,Radix)
  92. #define getlong(n)   getnumber(2147483647L,n,Radix)
  93. #define getnumb(m,n) getnum(m,n,Radix)
  94. #define getlnumb(m,n) getnumber((unsigned long)(m),n,Radix)
  95. #define len(n)       getlen(n,Radix)
  96. #define length(n)    getlength((unsigned long)(n),Radix)
  97.  
  98. #define putbyte(n)   pn((int)(n),Radix)
  99. #define puthex(n)    pnlz(n,4,16)
  100. #define putint(n)    pn(n,Radix)
  101. #define putuint(n)   pln((unsigned long)(n),Radix)
  102. #define putlong(n)   pln((unsigned long)(n),Radix)
  103. #define zputbyte(n)  pnlz((unsigned int)(n),3,Radix)
  104.