File: StreamP.h

package info (click to toggle)
xfireworks 1.3-13
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 476 kB
  • sloc: ansic: 3,229; makefile: 383; sh: 40
file content (95 lines) | stat: -rw-r--r-- 4,613 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*****************************************************************************/
/* Stream Class Library Copyright (c) 1999-2000 Sakai Hiroaki.               */
/* All Rights Reserved.                                                      */
/*===========================================================================*/
/* This program is free software; you can redistribute it and/or modify      */
/* it under the terms of the GNU General Public License as published by      */
/* the Free Software Foundation; either version 2, or (at your option)       */
/* any later version.                                                        */
/*                                                                           */
/* This program is distributed in the hope that it will be useful,           */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of            */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             */
/* GNU General Public License for more details.                              */
/*                                                                           */
/* You should have received a copy of the GNU General Public License         */
/* along with this program; see the file COPYING.  If not, write to          */
/* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.     */
/*****************************************************************************/

#ifndef _STREAMP_H_INCLUDED_
#define _STREAMP_H_INCLUDED_

/*****************************************************************************/
/*                                                                   */
/*****************************************************************************/

#include "Stream.h"

/*****************************************************************************/
/* إåեΥ󥯥롼(ץ饤١Ȥʤ)                          */
/*****************************************************************************/

/* None */

/*****************************************************************************/
/* (˸ʤ)                                            */
/*****************************************************************************/

/*===========================================================================*/
/* ɤ߹߸ΤΥ                                                  */
/*===========================================================================*/

typedef enum {
  STREAM_TYPE_NONE,         /* ɤ߹߸̵ */
  STREAM_TYPE_FILE_POINTER, /* եݥ󥿤ɤ߹ */
  STREAM_TYPE_CHARACTERS    /* ʸ(char * )ɤ߹ */
} StreamType;

/*===========================================================================*/
/* ɤ߹߸                                                          */
/*===========================================================================*/

typedef union {
  void * dummy;        /* ɤ߹߸̵ */
  FILE * file_pointer; /* եݥ󥿤ɤ߹ */
  char * characters;   /* ʸ(char * )ɤ߹ */
} StreamObject;

/*===========================================================================*/
/* unget ѥХåե                                                          */
/*===========================================================================*/

typedef struct _UngetBuffer {
  char character;
  struct _UngetBuffer * next;
} UngetBuffer;

/*===========================================================================*/
/* Stream 饹                                                       */
/*===========================================================================*/

typedef struct _Stream {

  UngetBuffer * unget_buffer; /* Хåե(ʸǤ unget Ǥ) */

  int end_flag; /* λΥե饰(ɤ߹Τ̵Ȥ) */

  CreateStreamFrom from;
  /* Υ֥ȤΥ(ե̾ʸʤ) */

  StreamType type; /* ɤ߹߸ΤΥ(ե롤String ʤ) */

  StreamObject object; /* ɤ߹߸(ե롤String ʤ) */

} _Stream;

/*****************************************************************************/
/* ޤ                                                                  */
/*****************************************************************************/

#endif

/*****************************************************************************/
/* End of File.                                                              */
/*****************************************************************************/