DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T t

⟦ba1b9a006⟧ TextFile

    Length: 4993 (0x1381)
    Types: TextFile
    Names: »types.h,v«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦34cc4e2f7⟧ »./UNRELEASED/xgdb3.2.tar.Z« 
        └─⟦80fac5d7c⟧ 
            └─⟦this⟧ »./RCS/types.h,v« 

TextFile

head     1.1;
access   ;
symbols  ;
locks    hubbard:1.1; strict;
comment  @ * @;


1.1
date     89.07.05.15.36.54;  author hubbard;  state Exp;
branches ;
next     ;


desc
@Initial checkin, Beta version 0.1.
@



1.1
log
@Initial revision
@
text
@\f


/* $Header$ */

/*
 *
 *                     Copyright 1988, 1989
 *                  PCS Computer Systeme, GmbH
 *                     Munich, West Germany
 *
 *  All rights reserved.
 * 
 *  This is unsupported software and is subject to change without notice.
 *  PCS makes no representations about the suitability of this software
 *  for any purpose. It is supplied "as is" without express or implied
 *  warranty.
 * 
 *  Permission to use, copy, modify, and distribute this software and its
 *  documentation for any purpose and without fee is hereby granted, provided
 *  that the above copyright notice appear in all copies and that both that
 *  copyright notice and this permission notice appear in supporting
 *  documentation, and that the name of PCS Computer Systeme not be used in
 *  advertising or publicity pertaining to distribution of the software
 *  without specific, written prior permission.
 *
 */

/*
 * Author:	Jordan K. Hubbard
 * For:		PCS Computer Systems
 * When:	April 18th, 1989.
 *
 * $Log$
 * 
 */

#ifndef MY_TYPES_H_INCLUDE
#define MY_TYPES_H_INCLUDE

/*
 * This fully describes a field. Several conversion routines exist
 * for translating other field lists into this type (the LCD for fields).
 * Basically, a field is just a label or command widget grouped in
 * some way with a bunch of other fields.
 */
typedef struct {
     Boolean sensitive;
     Boolean resizable;
     int border_width;
     int justify;
     int x, y;
     int width;
     int fromVert;
     int fromHoriz;
     int vertOffset;
     int horizOffset;
     String label;
} FieldAttributes;

typedef struct {
     String name;
     Widget me;
     VoidFuncP function;
     unsigned long attr_mask;
     FieldAttributes attrs;
} Field;

/*
 * The above structure would be unwieldy for static declarations of
 * very simple field groups. Use SimpleField if you're just interested
 * in creating a bunch of similar fields with no particularly important
 * order or geometry.
 */
typedef struct {
     String name;
     VoidFuncP function;
} SimpleField;

/*
 * Use this if you're interested in more control over placement of
 * fields.
 */
typedef struct {
     SimpleField fld;
     int border_width;
     Boolean resizable;
     int vert_offset;
     int horiz_offset;
     int from_vert;
     int from_horiz;
} FormField;

/*
 * A simple parser entry.
 */
typedef struct _simple {
     String label;			/* Regexp label */
     int type;				/* Type of target(s) */
     GenericPtr parms[RE_NREGS];	/* Targets */
} SimpleParser;

/*
 * Describes a view.
 */
typedef struct _view {
     String name;			/* The name of this view */
     String filename;			/* Associated file name (if any) */
     Widget parent;			/* The view's parent */
     Widget view;			/* Form widget containing "view" */
     Widget output;			/* The output widget itself */
     Field *fields;			/* Any fields in the view */
     Boolean mapped;			/* Is the view mapped? */
     GenericPtr buffer;			/* ptr to contents (if needed) */
     int maxlen;			/* Size of buffer */
     int cpos;				/* Current position in buffer */
     WidgetClass type;			/* Widget type of output area */
     caddr_t ext_data;			/* Hook for view specific data */
} View;

/* A menu pane */
typedef struct {
     String name;
     VoidFuncP function;
     Widget pane;
} Menupane;

/*
 * An entry in the main regexp list.
 */
typedef struct _ra {
     String str;			/* Raw regexp */
     Quad hash;				/* "hashed" value of str */
     struct re_pattern_buffer comp;	/* Compiled regexp */
} RegEnt;

/*
 * Queue types.
 */
typedef struct _link {
     struct _link *prev;
     struct _link *next;
} *Link;

typedef struct {		/* A generic queue */
     Link head;
     Link tail;
} Queue;

/*
 * Describes an inferior work process (like the debugger).
 */
QUEUE_ENTRY(_procinfo) BEGIN
     String name;			/* Name of the process */
     int pid;				/* Its Process ID */
     XtInputId in_id, out_id;		/* Toolkit dispatched I/O */
     VoidFuncP infunc, outfunc;		/* What to do with I/O */
     VoidFuncP diefunc;			/* What to do on termination */
     int in_channel, out_channel;	/* In/Out pipes */
     View *view;			/* The process's output view, if any */
     caddr_t ext_data;			/* Hook for process specific data */
IS_TYPE Process;

/*
 * A transaction to the debugger or an inferior work process.
 */
QUEUE_ENTRY(_transrec) BEGIN
     String send;			/* What to send */
     SimpleParser *simple_parsers;	/* Any special handling */
     StrFuncP handler;			/* What else to do with the output */
IS_TYPE Transaction;

/*
 * An entry in the global parser list.
 */
QUEUE_ENTRY(_parser) BEGIN
     StrFuncP handler;			/* A handler */
IS_TYPE Parser;

#endif /* MY_TYPES_H_INCLUDE */
@