home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Programming / vahunz / source / ubiqx / ubi_BinTree.h < prev   
Encoding:
C/C++ Source or Header  |  2001-04-17  |  3.0 KB  |  142 lines

  1. /*
  2.  * This source file is part of Vahunz,
  3.  * a tool to make source code un-/more legible.
  4.  *
  5.  *--------------------------------------------------------------------------
  6.  *
  7.  * Vahunz and the Ugly library are Copyright (C) 1998 by
  8.  * Thomas Aglassinger <agi@giga.or.at>
  9.  *
  10.  * All rights reserved.
  11.  *
  12.  * Refer to the manual for more information.
  13.  *
  14.  *--------------------------------------------------------------------------
  15.  *
  16.  * Ubiqx library is Copyright (C) 1991-1998 by
  17.  * Christopher R. Hertel <crh@ubiqx.mn.org>
  18.  *
  19.  * Ubiqx library is free software; you can redistribute it and/or
  20.  * modify it under the terms of the GNU Library General Public
  21.  * License as published by the Free Software Foundation; either
  22.  * version 2 of the License, or (at your option) any later version.
  23.  *
  24.  */
  25. #ifndef u4D
  26. #define u4D
  27. #define s0E 0xFF
  28. #define b9P 0x00
  29. #define m3R 0x01 
  30. #define r9O 0x02 
  31. #define z7V 0x00
  32. #define z6Y 0x01
  33. #define i7C 0x02
  34. #define t3Db z6Y
  35. typedef enum {
  36. g0I = 1,
  37. u4I,
  38. j2M,
  39. c2P,
  40. e6B
  41. } w3K;
  42. #define z7O(W) ((char)( (W) - t3Db ))
  43. #define f2V(W) ((char)( ((char)t2S( W )) + t3Db ))
  44. #define y2Bn(W) ((char)( t3Db - ((W) - t3Db) ))
  45. #define p3K(A) \
  46. ((r9O & ((A)->flags))?(s0E):(b9P))
  47. #define b4Y(A) \
  48. ((m3R & ((A)->flags))?(s0E):(b9P))
  49. typedef unsigned char f6W;
  50. typedef void *f7P; 
  51. typedef struct y2Z {
  52. struct y2Z *b9H[ 3 ];
  53. char k5O;
  54. } c9M;
  55. typedef c9M *l1Z; 
  56. typedef int (*w7Nt)( f7P, l1Z );
  57. typedef void (*c7W)( l1Z, void * );
  58. typedef void (*r2L)( l1Z );
  59. typedef struct {
  60. l1Z k6P; 
  61. unsigned long count; 
  62. w7Nt m3Sk; 
  63. unsigned char flags; 
  64. } h3P;
  65. typedef h3P *o4R; 
  66. long t2S( long x );
  67. l1Z u3Ny( l1Z y2B );
  68. o4R q4C( o4R x8O,
  69. w7Nt b2W,
  70. unsigned char Flags );
  71. f6W k2M( o4R x8O,
  72. l1Z j4E,
  73. f7P j7S,
  74. l1Z *s3L );
  75. l1Z v6T( o4R x8O,
  76. l1Z b2L );
  77. l1Z p2P( o4R x8O,
  78. f7P m9X,
  79. w3K w5Y );
  80. l1Z f9B( o4R x8O,
  81. f7P m9X );
  82. l1Z l1X( l1Z P );
  83. l1Z l7C( l1Z P );
  84. l1Z o7R( l1Z P );
  85. l1Z d4K( l1Z P );
  86. l1Z g1V( o4R x8O,
  87. f7P n8U,
  88. l1Z p );
  89. l1Z z5H( o4R x8O,
  90. f7P n8U,
  91. l1Z p );
  92. f6W b6S( o4R x8O,
  93. c7W d2L,
  94. void *UserData );
  95. f6W q1C( o4R x8O,
  96. r2L q1P );
  97. l1Z s6Y( l1Z f5Y );
  98. int x0K( int c8H, char *list[] );
  99. #define w7R f7P
  100. #define y8K c9M
  101. #define y5M l1Z
  102. #define r2O h3P
  103. #define s2A o4R
  104. #define j6U w7Nt
  105. #define a9H c7W
  106. #define a9O r2L
  107. #define m8E( x ) t2S( x )
  108. #define t8Q( Np ) u3Ny( (l1Z)(Np) )
  109. #define j5Pt( Rp, Cf, Fl ) \
  110. q4C( (o4R)(Rp), (w7Nt)(Cf), (Fl) )
  111. #define x2J( Rp, Nn, Ip, On ) \
  112. k2M( (o4R)(Rp), (l1Z)(Nn), \
  113. (f7P)(Ip), (l1Z *)(On) )
  114. #define r3S( Rp, Dn ) \
  115. v6T( (o4R)(Rp), (l1Z)(Dn) )
  116. #define u8R( Rp, Ip, Op ) \
  117. p2P( (o4R)(Rp), \
  118. (f7P)(Ip), \
  119. (w3K)(Op) )
  120. #define e1N( Rp, Ip ) \
  121. f9B( (o4R)(Rp), (f7P)(Ip) )
  122. #define y6G( P ) l1X( (l1Z)(P) )
  123. #define s0K( P ) l7C( (l1Z)(P) )
  124. #define f1T( P ) o7R( (l1Z)(P) )
  125. #define j4W( P ) d4K( (l1Z)(P) )
  126. #define k6S( Rp, Ip, P ) \
  127. g1V( (o4R)(Rp), \
  128. (f7P)(Ip), \
  129. (l1Z)(P) )
  130. #define b4W( Rp, Ip, P ) \
  131. z5H( (o4R)(Rp), \
  132. (f7P)(Ip), \
  133. (l1Z)(P) )
  134. #define i2U( Rp, En, Ud ) \
  135. b6S((o4R)(Rp), (c7W)(En), (void *)(Ud))
  136. #define b4P( Rp, Fn ) \
  137. q1C( (o4R)(Rp), (r2L)(Fn) )
  138. #define e2X( Nd ) \
  139. s6Y( (l1Z)(Nd) )
  140. #define h2Q( s, l ) x0K( s, l )
  141. #endif 
  142.