1 #ifndef CLIENT_MY_READLINE_INCLUDED
2 #define CLIENT_MY_READLINE_INCLUDED
3 
4 /*
5    Copyright (c) 2000, 2011, Oracle and/or its affiliates
6 
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; version 2 of the License.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA
19 */
20 
21 /* readline for batch mode */
22 
23 typedef struct st_line_buffer
24 {
25   File file;
26   char *buffer;			/* The buffer itself, grown as needed. */
27   char *end;			/* Pointer at buffer end */
28   char *start_of_line,*end_of_line;
29   uint bufread;			/* Number of bytes to get with each read(). */
30   uint eof;
31   ulong max_size;
32   ulong read_length;		/* Length of last read string */
33   int error;
34   bool truncated;
35 } LINE_BUFFER;
36 
37 extern LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file);
38 extern LINE_BUFFER *batch_readline_command(LINE_BUFFER *buffer, char * str);
39 extern char *batch_readline(LINE_BUFFER *buffer, bool binary_mode);
40 extern void batch_readline_end(LINE_BUFFER *buffer);
41 
42 #endif /* CLIENT_MY_READLINE_INCLUDED */
43