#ifndef ustate_H #define ustate_H #include #include #include struct output_ty; /* existence */ #ifndef ustate_own_changes_list_DEF #define ustate_own_changes_list_DEF typedef struct ustate_own_changes_list *ustate_own_changes_list; struct ustate_own_changes_list { size_t length; size_t maximum; long *list; }; #endif /* ustate_own_changes_list_DEF */ extern type_ty ustate_own_changes_list_type; void ustate_own_changes_list_write _((struct output_ty *, char *, ustate_own_changes_list)); #ifndef ustate_own_DEF #define ustate_own_DEF #define ustate_own_project_name_mask ((unsigned long)0) #define ustate_own_changes_mask ((unsigned long)0) typedef struct ustate_own *ustate_own; struct ustate_own { long reference_count; unsigned long mask; string_ty *project_name; ustate_own_changes_list changes; }; #endif /* ustate_own_DEF */ extern type_ty ustate_own_type; void ustate_own_write _((struct output_ty *, char *, ustate_own)); ustate_own ustate_own_copy _((ustate_own)); #ifndef ustate_own_list_DEF #define ustate_own_list_DEF typedef struct ustate_own_list *ustate_own_list; struct ustate_own_list { size_t length; size_t maximum; ustate_own *list; }; #endif /* ustate_own_list_DEF */ extern type_ty ustate_own_list_type; void ustate_own_list_write _((struct output_ty *, char *, ustate_own_list)); #ifndef ustate_DEF #define ustate_DEF #define ustate_own_mask ((unsigned long)0) typedef struct ustate *ustate; struct ustate { long reference_count; unsigned long mask; ustate_own_list own; }; #endif /* ustate_DEF */ extern type_ty ustate_type; void ustate_write _((struct output_ty *, ustate)); ustate ustate_copy _((ustate)); void ustate_write_file _((string_ty *filename, ustate value, int comp)); ustate ustate_read_file _((string_ty *filename)); void ustate__rpt_init _((void)); #endif /* ustate_H */