FreeBSD 10 clang port
[oweals/cde.git] / cde / lib / DtTerm / TermPrim / TermPrimPendingTextP.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* 
24 ** $TOG: TermPrimPendingTextP.h /main/3 1997/07/03 15:40:29 samborn $
25 */
26 /*                                                                      *
27  * (c) Copyright 1993, 1994 Hewlett-Packard Company                     *
28  * (c) Copyright 1993, 1994 International Business Machines Corp.       *
29  * (c) Copyright 1993, 1994 Sun Microsystems, Inc.                      *
30  * (c) Copyright 1993, 1994 Novell, Inc.                                *
31  */
32 #ifndef   _Dt_TermPrimPendingTextP_h
33 #define   _Dt_TermPrimPendingTextP_h
34
35 #include "TermPrimPendingText.h"
36
37 #ifdef     __cplusplus
38 extern "C" {
39 #endif  /* __cplusplus */
40
41 #define DEFAULT_CHUNK_BUF_SIZE  1024
42
43 #define TextIsPending(list)     (list->head->next != list->tail)
44
45 typedef struct _PendingTextChunkRec
46 {
47     unsigned char      *buffer;         /* beginning of buffer             */
48     int                 buffLen;        /* length of buffer                */
49     unsigned char      *bufPtr;         /* text remaining to be processed  */
50     int                 len;            /* bytes remaining to be processed */
51     PendingTextChunk    next;           /* next chunk in list              */
52     PendingTextChunk    prev;           /* prev chunk in list              */
53 } PendingTextChunkRec;
54
55 typedef struct _PendingTextRec
56 {
57     PendingTextChunk    head;
58     PendingTextChunk    tail;
59 #ifdef   RECYCLE_CHUNKS
60     PendingTextChunk    free;
61 #endif /* RECYCLE_CHUNKS */
62 } PendingTextRec;
63     
64 /*
65  * define the maximum number of character per write for a pty.  This
66  * makes dtterm behave similarly to xterm and dxterm and worksaround
67  * the pty flow control problems.
68  */
69 #define MAX_PTY_WRITE 128 /* this is 1/2 POSIX minimum MAX_INPUT */
70
71 #ifdef  __cplusplus
72 } /* close scope of 'extern "C"'... */
73 #endif  /* __cplusplus */
74
75 #endif /* _Dt_TermPrimPendingTextP_h */
76 /* DON'T ADD ANYTHING AFTER THIS #endif... */