|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 4869 (0x1305)
Types: TextFile
Names: »types.h«
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
└─⟦34cc4e2f7⟧ »./UNRELEASED/xgdb3.2.tar.Z«
└─⟦80fac5d7c⟧
└─⟦this⟧ »./types.h«
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
└─⟦e10a7c8ba⟧ »./UNRELEASED/xgdb.tar.Z«
└─⟦ae30648b5⟧
└─⟦this⟧ »./types.h«
\f
/* $Header: types.h,v 1.1 89/07/05 15:36:54 hubbard Exp $ */
/*
*
* 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: types.h,v $
* Revision 1.1 89/07/05 15:36:54 hubbard
* Initial revision
*
*
*/
#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 */