]> arthur.barton.de Git - netatalk.git/blob - etc/papd/file.h
Initial revision
[netatalk.git] / etc / papd / file.h
1 /*
2  * Copyright (c) 1990,1991 Regents of The University of Michigan.
3  * All Rights Reserved.  See COPYRIGHT.
4  */
5
6 struct papfile {
7     int                 pf_state;
8     struct state        *pf_xstate;
9     int                 pf_len;
10     char                *pf_buf;
11     char                *pf_cur;
12     char                *pf_end;
13 };
14
15 #define PF_BOT          (1<<0)
16 #define PF_EOF          (1<<1)
17 #define PF_QUERY        (1<<2)
18
19 #define APPEND( pf, data, len ) \
20         if ( (pf)->pf_end + (len) > (pf)->pf_buf + (pf)->pf_len ) { \
21                 morespace( (pf), (data), (len)); \
22         } else { \
23                 bcopy( (data), (pf)->pf_end, (len)); \
24                 (pf)->pf_end += (len); \
25         }
26 #define PF_BUFSIZ( pf )         ((pf)->pf_end - (pf)->pf_cur)
27 #define CONSUME( pf, len )      (((pf)->pf_cur += (len)), \
28         (((pf)->pf_cur >= (pf)->pf_end) && \
29         ((pf)->pf_cur = (pf)->pf_end = (pf)->pf_buf)))
30
31 #define PF_MORESPACE    1024