home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / comm / misc / elcheapofax / rcs / faxfile.h,v < prev    next >
Text File  |  1993-12-21  |  3KB  |  150 lines

  1. head    1.3;
  2. access;
  3. symbols
  4.     OCT93:1.3;
  5. locks;
  6. comment    @ * @;
  7.  
  8.  
  9. 1.3
  10. date    93.08.20.02.48.24;    author Rhialto;    state Exp;
  11. branches;
  12. next    1.2;
  13.  
  14. 1.2
  15. date    93.06.11.16.33.37;    author Rhialto;    state Exp;
  16. branches;
  17. next    1.1;
  18.  
  19. 1.1
  20. date    93.06.11.14.53.53;    author Rhialto;    state Exp;
  21. branches;
  22. next    ;
  23.  
  24.  
  25. desc
  26. @Stuff for g3 file conversion
  27. @
  28.  
  29.  
  30. 1.3
  31. log
  32. @Add hack for auto-detecting fax bit order.
  33. @
  34. text
  35. @/* Derived from gdevdfax.c */
  36. /* $Id: faxfile.h,v 1.2 1993/06/11 16:33:37 Rhialto Exp $
  37.  * $Log: faxfile.h,v $
  38.  * Revision 1.2  1993/06/11  16:33:37  Rhialto
  39.  * First real RCS checkin
  40.  *
  41.  */
  42. /*************************************************************************
  43.  *    Format of page header in PC Research "group_3" FAX file
  44.  *
  45.  *    Note that all "shorts" are stored LSB in lowest byte address
  46.  *************************************************************************/
  47. typedef struct
  48. {
  49.     char    magic[24];
  50. } FAXBREAK;
  51.  
  52. #define FAXMAGIC    "\000PC Research, Inc\000\000\000\000\000\000"
  53.  
  54. typedef struct
  55. {
  56. /*24*/    short    pages;        /* Number of pages in file */
  57. /*26*/    short    pagenum;
  58. /*28*/    char    msbfirst;    /* Coding used in file for codewords */
  59.                 /* MUST be set to 1, meaning the codewords */
  60.                 /* are filled starting with the most */
  61.                 /* significant bit */
  62. /*29*/    char    hires;        /* Set to 1 for Hi resolution, else 0 */
  63. /*30*/    char    dirty;        /* File may contain T.4 errors if 1, else 0 */
  64.                 /* e.g. it was received by FAX, not created */
  65.                 /* by a program */
  66. /*31*/    char    reservedc;
  67. /*32*/    short    reserved[12];
  68. } FAXINFO;
  69.  
  70. #define OFFSET_PAGES    24
  71.  
  72. typedef struct
  73. {
  74.     char    jt0;
  75.     char    jthires;    /* Set to 0x40 for Hi resolution, else 0 */
  76.     char    jt2;
  77.     char    jt3;
  78.     char    jt4;
  79.     char    jt5;
  80.     char    jt6;
  81.     char    jt7;
  82. } JTINFO;
  83.  
  84. /*
  85.  *    This appears before each page in a FAX file
  86.  */
  87. typedef struct
  88. {
  89.     FAXBREAK    id;
  90.     FAXINFO     info;
  91.     JTINFO        jtinfo;
  92. } FAXHDR;
  93.  
  94. /*
  95.  *    Some FAX-related data
  96.  */
  97.  
  98. /* The device descriptor */
  99. #define X_DPI 204
  100. #define Y_DPI 196        /* hires; non-hires is half this resolution */
  101. #define LINE_SIZE ((X_DPI * 85 / 10 + 7) / 8)   /* bytes per line */
  102.  
  103. #define LINE_BITS_0 1728
  104. #define LINE_BITS_1 2048
  105. #define LINE_BITS_2 2432
  106.  
  107. #define LINE_BITS LINE_BITS_0    /* only one supported now */
  108.  
  109. /*
  110.  * Prototypes
  111.  */
  112. /* tofax.c */
  113. long faxin_open_fp(FILE *file, int dostretch, int doreverse);
  114. int faxin_begin_page(FILE *file);
  115. int fromfax(FILE *inf, unsigned char *bitrow);
  116. /* tofax.c */
  117. struct faxout;
  118. struct faxout  *faxout_open (char *, int);
  119. struct faxout  *faxout_open_fp (FILE *, int);
  120. int    faxout_begin_page (struct faxout *, int);
  121. int    faxout_end_page (struct faxout *);
  122. int    faxout_close (struct faxout *);
  123. void    tofax(struct faxout *faxp, unsigned char *p, int linebits);
  124.  
  125. @
  126.  
  127.  
  128. 1.2
  129. log
  130. @First real RCS checkin
  131. @
  132. text
  133. @d2 5
  134. a6 2
  135. /* $Id$
  136.  * $Log$
  137. d79 1
  138. a79 1
  139. long faxin_open_fp(FILE *file, int dostretch);
  140. @
  141.  
  142.  
  143. 1.1
  144. log
  145. @Initial revision
  146. @
  147. text
  148. @d2 3
  149. @
  150.