w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

list_routines.h
Go to the documentation of this file.
1 /* list_routines.h: Types used in this program.
2 
3 This file is part of Omega,
4 which is based on the web2c distribution of TeX,
5 
6 Copyright (c) 1994--2001 John Plaice and Yannis Haralambous
7 
8 Omega is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
12 
13 Omega is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with Omega; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
21 
22 */
23 
24 typedef int fix;
25 
26 typedef struct cell_struct {
27  struct cell_struct *ptr;
28  void *contents;
29 } cell;
30 typedef cell *list;
31 
32 typedef struct av_cell_struct {
34  int attribute;
35  int value;
37 typedef av_cell *av_list;
38 
39 typedef struct in_cell_struct {
42  int value;
43  int index;
45 typedef in_cell *in_list;
46 
47 typedef struct hash_cell_struct {
48  int x;
49  int y;
50  int new_class;
51  int lig_z;
54 
56 
57 typedef struct queue_struct {
58  struct cell_struct *front;
59  struct cell_struct *tail;
61 
62 extern av_list av_list1(int,int);
63 
64 extern in_list in_list1(int,in_list);
65 
66 extern hash_list hash_list1(int,int,int,int,hash_list);
67 
68 #define lattr(L) (L->attribute)
69 #define lval(L) (L->value)
70 
71 typedef struct four_pieces_struct {
72  unsigned int pieces[4];
74 
75 typedef struct four_entries_struct {
76  int entries[4];
78 
79 #define lb0(L) (((four_entries *)((L)->contents))->entries[0])
80 #define lb1(L) (((four_entries *)((L)->contents))->entries[1])
81 #define lb2(L) (((four_entries *)((L)->contents))->entries[2])
82 #define lb3(L) (((four_entries *)((L)->contents))->entries[3])
83 
84 
85 extern void append_to_queue(queue *, void *);
hash_list hash_list1(int, int, int, int, hash_list)
Definition: list_routines.c:67
struct cell_struct cell
struct four_pieces_struct four_pieces
struct queue_struct queue
av_list av_list1(int, int)
Definition: list_routines.c:40
struct four_entries_struct four_entries
cell * list
Definition: list_routines.h:30
hash_cell * hash_list
Definition: list_routines.h:55
void append_to_queue(queue *, void *)
Definition: list_routines.c:81
av_cell * av_list
Definition: list_routines.h:37
struct hash_cell_struct hash_cell
struct in_cell_struct in_cell
in_cell * in_list
Definition: list_routines.h:45
int fix
Definition: list_routines.h:24
struct av_cell_struct av_cell
in_list in_list1(int, in_list)
Definition: list_routines.c:53
struct av_cell_struct * ptr
Definition: list_routines.h:33
struct cell_struct * ptr
Definition: list_routines.h:27
void * contents
Definition: list_routines.h:28
unsigned int pieces[4]
Definition: list_routines.h:72
struct hash_cell_struct * ptr
Definition: list_routines.h:52
struct in_cell_struct * ptr
Definition: list_routines.h:40
struct in_cell_struct * actual
Definition: list_routines.h:41
struct cell_struct * tail
Definition: list_routines.h:59
struct cell_struct * front
Definition: list_routines.h:58