ArchWizard

DGD/

source navigation ]
diff markup ]
identifier search ]
file search ]
Version: [ 1.0.a0 ] [ 1.1 ] [ 1.2 ] [ 1.2p1 ] [ 1.2p2 ] [ 1.2p3 ] [ 1.2p4 ] [ 1.2.151 ]

  1 # include "hash.h"
  2 # include "swap.h"
  3 
  4 struct _object_ {
  5     hte chain;                  /* object name hash table */
  6     char flags;                 /* object status */
  7     eindex etabi;               /* index in external table */
  8     uindex cref;                /* # clone references (sometimes) */
  9     uindex prev;                /* previous in issue list */
 10     uindex index;               /* index in object table */
 11     Uint count;                 /* object creation count */
 12     Uint update;                /* object update count */
 13     Uint ref;                   /* ref count (if master object) */
 14     control *ctrl;              /* control block (master object only) */
 15     dataspace *data;            /* dataspace block */
 16     sector cfirst;              /* first sector of control block */
 17     sector dfirst;              /* first sector of dataspace block */
 18 };
 19 # define u_ref                  ref
 20 # define u_master               ref
 21 
 22 # define O_MASTER               0x01
 23 # define O_AUTO                 0x02
 24 # define O_DRIVER               0x04
 25 # define O_CREATED              0x08
 26 # define O_USER                 0x10
 27 # define O_EDITOR               0x20
 28 # define O_COMPILED             0x40
 29 # define O_PENDIO               0x80
 30 
 31 # define O_SPECIAL              0x30
 32 
 33 # define OBJ_LAYOUT             "xceuuuiiippdd"
 34 
 35 # define OBJ(i)                 (&otable[i])
 36 # define OBJR(i)                ((BTST(ocmap, (i))) ? o_oread((i)) : &otable[i])
 37 # define OBJW(i)                ((!obase) ? o_owrite((i)) : &otable[i])
 38 # define OBJF(i)                OBJW(i)
 39 
 40 # define O_UPGRADING(o)         ((o)->cref > (o)->u_ref)
 41 # define O_INHERITED(o)         ((o)->u_ref - 1 != (o)->cref)
 42 
 43 # define OACC_READ              0x00    /* read access */
 44 # define OACC_REFCHANGE         0x01    /* modify refcount */
 45 # define OACC_MODIFY            0x02    /* write access */
 46 
 47 # define OBJ_NONE               UINDEX_MAX
 48 
 49 extern void       o_init                P((unsigned int));
 50 extern object    *o_oread               P((unsigned int));
 51 extern object    *o_owrite              P((unsigned int));
 52 extern void       o_new_plane           P((void));
 53 extern void       o_commit_plane        P((void));
 54 extern void       o_discard_plane       P((void));
 55 
 56 extern bool       o_space               P((void));
 57 extern object    *o_new                 P((char*, control*));
 58 extern object    *o_clone               P((object*));
 59 extern void       o_upgrade             P((object*, control*, frame*));
 60 extern void       o_upgraded            P((object*, object*));
 61 extern void       o_del                 P((object*, frame*));
 62 
 63 extern char      *o_name                P((char*, object*));
 64 extern object    *o_find                P((char*, int));
 65 extern control   *o_control             P((object*));
 66 extern dataspace *o_dataspace           P((object*));
 67 
 68 extern void       o_clean               P((void));
 69 extern uindex     o_count               P((void));
 70 extern bool       o_dump                P((int));
 71 extern void       o_restore             P((int));
 72 extern void       o_conv                P((void));
 73 
 74 extern object    *otable;
 75 extern char      *ocmap;
 76 extern bool       obase;
 77 extern Uint       odcount;
 78 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.