2002-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>

* configure.ac: Autoupdate to 2.52.
	Remove pdl2texi.
	* Makefile.am: Remove pdl2texi.
This commit is contained in:
Joel Sherrill
2002-01-22 17:38:24 +00:00
parent c8f05db3b8
commit 551857b0d3
20 changed files with 13 additions and 5308 deletions

View File

@@ -1,3 +1,9 @@
2002-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Autoupdate to 2.52.
Remove pdl2texi.
* Makefile.am: Remove pdl2texi.
2002-01-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2002-01-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Require automake-1.5. * Makefile.am: Require automake-1.5.

View File

@@ -4,4 +4,4 @@ AUTOMAKE_OPTIONS = foreign 1.5
EXTRA_DIST = word-replace2 EXTRA_DIST = word-replace2
SUBDIRS = bmenu src2html1.4a src2html pdl2texi texi2www SUBDIRS = bmenu src2html1.4a src2html texi2www

View File

@@ -1,8 +1,9 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl NOTE: This is a very coarse port to automake dnl NOTE: This is a very coarse port to automake
AC_PREREQ(2.13) AC_PREREQ(2.52)
AC_INIT(word-replace2) AC_INIT
AC_CONFIG_SRCDIR([word-replace2])
AM_INIT_AUTOMAKE(rtemsdoc-tools,0.0.0,no) AM_INIT_AUTOMAKE(rtemsdoc-tools,0.0.0,no)
dnl Checks for programs. dnl Checks for programs.
@@ -19,14 +20,13 @@ dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions. dnl Checks for library functions.
AC_CHECK_FUNCS(strdup strstr) AC_CHECK_FUNCS(strdup strstr)
AC_OUTPUT( AC_CONFIG_FILES([Makefile
Makefile
bmenu/Makefile bmenu/Makefile
src2html/Makefile src2html/Makefile
src2html1.4a/Makefile src2html1.4a/Makefile
src2html1.4a/Ctags/Makefile src2html1.4a/Ctags/Makefile
src2html1.4a/FreeBSD/Makefile src2html1.4a/FreeBSD/Makefile
src2html1.4a/ctags-emacs/Makefile src2html1.4a/ctags-emacs/Makefile
pdl2texi/Makefile
texi2www/Makefile texi2www/Makefile
) ])
AC_OUTPUT

View File

@@ -1,4 +0,0 @@
.deps
Makefile
Makefile.in
pdl2texi

View File

@@ -1,7 +0,0 @@
2002-01-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Require automake-1.5.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.

View File

@@ -1,57 +0,0 @@
#
# COPYRIGHT (c) 1996-2000.
# On-Line Applications Research Corporation (OAR).
# All rights reserved.
#
# $Id$
#
AUTOMAKE_OPTIONS = foreign 1.5
PROG = pdl2texi
noinst_PROGRAMS = $(PROG)
#$(BASE).texi: $(BASE).d ./$(PROG)
# ./$(PROG) $(BASE).d
pdl2texi_SOURCES = address.inl chain.h main.c system.h base.h chain.inl \
address.h chain.c isr.h
BASE = sample
#drive: Drive
#Drive: $(BASE).txt
# /usr1/home/joel/tmp/makeinfo $(PROJECT).texi
#dvi: $(PROJECT).dvi
#ps: $(PROJECT).ps
#info: Drive
#html: $(PROJECT).texi $(BASE).txt
# ../textools/texi2html $(PROJECT).texi
$(BASE).txt: $(BASE).d
./$(PROG) -v -p "Turret Subsystem" -u "Turret Subsystem" $(BASE).d
wtest:
rm -f $(BASE).txt
./$(PROG) -w -v -p "Turret Subsystem" -u "Turret Subsystem" $(BASE).d
enum:
./$(PROG) -w -v -p "Magic Subsystem" \
-u "Magic Subsystem" test_cases/enum.d
./$(PROG) -w -v -p "Magic Subsystem" \
-u "Magic Subsystem" test_cases/enumbad.d
avdas:
./$(PROG) -v -p "Magic Subsystem" \
-u "Magic Subsystem" test_cases/avdas.d
./$(PROG) -w -v -p "Magic Subsystem" \
-u "Magic Subsystem" test_cases/avdas.d
clean:
rm -f *.o $(PROG) *.txt core *.html $(PROJECT) Drive.texi
rm -f *.dvi *.ps *.log *.aux *.cp *.fn *.ky *.pg *.toc *.tp *.vr $(BASE)
rm -f test_cases/*.txt test_cases/*.texi
EXTRA_DIST = test_cases/enum.d test_cases/enumbad.d test_cases/table.d s.d \
sample.d

View File

@@ -1,110 +0,0 @@
/* address.h
*
* This include file contains the information required to manipulate
* physical addresses.
*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __ADDRESSES_h
#define __ADDRESSES_h
/*
* _Addresses_Add_offset
*
* DESCRIPTION:
*
* This function is used to add an offset to a base address.
* It returns the resulting address. This address is typically
* converted to an access type before being used further.
*/
STATIC INLINE void *_Addresses_Add_offset (
void *base,
unsigned32 offset
);
/*
* _Addresses_Subtract_offset
*
* DESCRIPTION:
*
* This function is used to subtract an offset from a base
* address. It returns the resulting address. This address is
* typically converted to an access type before being used further.
*/
STATIC INLINE void *_Addresses_Subtract_offset(
void *base,
unsigned32 offset
);
/*
* _Addresses_Add
*
* DESCRIPTION:
*
* This function is used to add two addresses. It returns the
* resulting address. This address is typically converted to an
* access type before being used further.
*/
STATIC INLINE void *_Addresses_Add (
void *left,
void *right
);
/*
* _Addresses_Subtract
*
* DESCRIPTION:
*
* This function is used to subtract two addresses. It returns the
* resulting offset.
*/
STATIC INLINE unsigned32 _Addresses_Subtract (
void *left,
void *right
);
/*
* _Addresses_Is_aligned
*
* DESCRIPTION:
*
* This function returns TRUE if the given address is correctly
* aligned for this processor and FALSE otherwise. Proper alignment
* is based on correctness and efficiency.
*/
STATIC INLINE boolean _Addresses_Is_aligned (
void *address
);
/*
* _Addresses_Is_in_range
*
* DESCRIPTION:
*
* This function returns TRUE if the given address is within the
* memory range specified and FALSE otherwise. base is the address
* of the first byte in the memory range and limit is the address
* of the last byte in the memory range. The base address is
* assumed to be lower than the limit address.
*/
STATIC INLINE boolean _Addresses_Is_in_range (
void *address,
void *base,
void *limit
);
#include "address.inl"
#endif
/* end of include file */

View File

@@ -1,104 +0,0 @@
/*
* This include file contains the bodies of the routines
* about addresses which are inlined.
*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __INLINE_ADDRESSES_inl
#define __INLINE_ADDRESSES_inl
/*PAGE
*
* _Addresses_Add_offset
*
*/
STATIC INLINE void *_Addresses_Add_offset (
void *base,
unsigned32 offset
)
{
return (base + offset);
}
/*PAGE
*
* _Addresses_Subtract_offset
*
*/
STATIC INLINE void *_Addresses_Subtract_offset (
void *base,
unsigned32 offset
)
{
return (base - offset);
}
/*PAGE
*
* _Addresses_Add
*
* NOTE: The cast of an address to an unsigned32 makes this code
* dependent on an addresses being thirty two bits.
*/
STATIC INLINE void *_Addresses_Add (
void *left,
void *right
)
{
return (left + (unsigned32)right);
}
/*PAGE
*
* _Addresses_Subtract
*
* NOTE: The cast of an address to an unsigned32 makes this code
* dependent on an addresses being thirty two bits.
*/
STATIC INLINE unsigned32 _Addresses_Subtract (
void *left,
void *right
)
{
return (left - right);
}
/*PAGE
*
* _Addresses_Is_aligned
*
*/
STATIC INLINE boolean _Addresses_Is_aligned (
void *address
)
{
return ( ( (unsigned32)address % 4 ) == 0 );
}
/*PAGE
*
* _Addresses_Is_aligned
*
*/
STATIC INLINE boolean _Addresses_Is_in_range (
void *address,
void *base,
void *limit
)
{
return ( address >= base && address <= limit );
}
#endif
/* end of include file */

View File

@@ -1,119 +0,0 @@
/*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __PDL2AMI_h
#define __PDL2AMI_h
#include "system.h"
#include "chain.h"
#ifndef EXTERN
#define EXTERN extern
#endif
/*
* Paragraph size should be kept down because it is allocated for each
* Line_Control. If this number is large, the memory requirements for
* the program increase significantly.
*/
#define BUFFER_SIZE (10 * 1024)
#define PARAGRAPH_SIZE (8 * 1024)
#define NUMBER_ELEMENTS( _x ) (sizeof(_x) / sizeof _x[0])
void exit_application(
int status
);
void ProcessFile(
char *inname,
char *outname
);
void strtolower(
char *dest,
char *src
);
void strtoInitialCaps(
char *dest,
char *src
);
void StripBlanks( void );
void MergeParagraphs( void );
int CheckForIncomplete( void );
int CheckOutline( void );
int CheckSections( void );
void GenerateLists( void );
void GenerateAList(
char *section,
Chain_Control *the_list
);
void LookForInternalInconsistencies( void );
int Match_Argument(
char **array,
int entries,
char *users
);
void usage( void );
void ReadFileIntoChain(
char *inname
);
int MergeText( void );
int CheckForBadWhiteSpace();
void RemoveCopyright();
void RemovePagebreaks();
int RemoveExtraBlankLines();
void FormatToTexinfo( void );
void FormatToWord( void );
void PrintFile(
char *out
);
void DumpList(
Chain_Control *the_list
);
void ReleaseFile();
EXTERN boolean Verbose; /* status/debug msgs */
EXTERN boolean Statistics; /* statistics msgs */
EXTERN boolean OutputWord; /* Output MS-Word */
EXTERN boolean IncompletesAreErrors;
EXTERN boolean InsertTBDs;
EXTERN Chain_Control Lines;
EXTERN int NumberOfAttributes;
EXTERN int NumberOfAssociations;
EXTERN int NumberOfAbstractTypes;
EXTERN int NumberOfDataItems;
EXTERN int NumberOfMethods;
EXTERN int NumberOfTasks;
#endif

View File

@@ -1,229 +0,0 @@
/*
* Chain Handler
*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#include "system.h"
#include "address.h"
#include "chain.h"
#include "isr.h"
/*PAGE
*
* _Chain_Initialize
*
* This kernel routine initializes a doubly linked chain.
*
* Input parameters:
* the_chain - pointer to chain header
* starting_address - starting address of first node
* number_nodes - number of nodes in chain
* node_size - size of node in bytes
*
* Output parameters: NONE
*/
void _Chain_Initialize(
Chain_Control *the_chain,
void *starting_address,
unsigned32 number_nodes,
unsigned32 node_size
)
{
unsigned32 count;
Chain_Node *current;
Chain_Node *next;
count = number_nodes;
current = _Chain_Head( the_chain );
the_chain->permanent_null = NULL;
next = (Chain_Node *)starting_address;
while ( count-- ) {
current->next = next;
next->previous = current;
current = next;
next = (Chain_Node *)
_Addresses_Add_offset( (void *) next, node_size );
}
current->next = _Chain_Tail( the_chain );
the_chain->last = current;
}
/*PAGE
*
* _Chain_Get_first_unprotected
*/
#ifndef USE_INLINES
STATIC INLINE Chain_Node *_Chain_Get_first_unprotected(
Chain_Control *the_chain
)
{
Chain_Node *return_node;
Chain_Node *new_first;
return_node = the_chain->first;
new_first = return_node->next;
the_chain->first = new_first;
new_first->previous = _Chain_Head( the_chain );
return return_node;
}
#endif /* USE_INLINES */
/*PAGE
*
* _Chain_Get
*
* This kernel routine returns a pointer to a node taken from the
* given chain.
*
* Input parameters:
* the_chain - pointer to chain header
*
* Output parameters:
* return_node - pointer to node in chain allocated
* CHAIN_END - if no nodes available
*
* INTERRUPT LATENCY:
* only case
*/
Chain_Node *_Chain_Get(
Chain_Control *the_chain
)
{
ISR_Level level;
Chain_Node *return_node;
return_node = NULL;
_ISR_Disable( level );
if ( !_Chain_Is_empty( the_chain ) )
return_node = _Chain_Get_first_unprotected( the_chain );
_ISR_Enable( level );
return return_node;
}
/*PAGE
*
* _Chain_Append
*
* This kernel routine puts a node on the end of the specified chain.
*
* Input parameters:
* the_chain - pointer to chain header
* node - address of node to put at rear of chain
*
* Output parameters: NONE
*
* INTERRUPT LATENCY:
* only case
*/
void _Chain_Append(
Chain_Control *the_chain,
Chain_Node *node
)
{
ISR_Level level;
_ISR_Disable( level );
_Chain_Append_unprotected( the_chain, node );
_ISR_Enable( level );
}
/*PAGE
*
* _Chain_Extract
*
* This kernel routine deletes the given node from a chain.
*
* Input parameters:
* node - pointer to node in chain to be deleted
*
* Output parameters: NONE
*
* INTERRUPT LATENCY:
* only case
*/
void _Chain_Extract(
Chain_Node *node
)
{
ISR_Level level;
_ISR_Disable( level );
_Chain_Extract_unprotected( node );
_ISR_Enable( level );
}
/*PAGE
*
* _Chain_Insert
*
* This kernel routine inserts a given node after a specified node
* a requested chain.
*
* Input parameters:
* after_node - pointer to node in chain to be inserted after
* node - pointer to node to be inserted
*
* Output parameters: NONE
*
* INTERRUPT LATENCY:
* only case
*/
void _Chain_Insert(
Chain_Node *after_node,
Chain_Node *node
)
{
ISR_Level level;
_ISR_Disable( level );
_Chain_Insert_unprotected( after_node, node );
_ISR_Enable( level );
}
/*PAGE
*
* _Chain_Insert_chain
*
* This routine inserts a chain after the specified node in another
* chain. It is assumed that the insert after node is not on the
* second chain.
*
* Input parameters:
* insert_after - insert the chain after this node
* to_insert - the chain to insert
*/
void _Chain_Insert_chain(
Chain_Node *insert_after,
Chain_Control *to_insert
)
{
Chain_Node *first;
Chain_Node *last;
Chain_Node *insert_after_next;
first = to_insert->first;
last = to_insert->last;
insert_after_next = insert_after->next;
insert_after->next = first;
first->previous = insert_after;
insert_after_next->previous = last;
last->next = insert_after_next;
_Chain_Initialize_empty( to_insert );
}

View File

@@ -1,347 +0,0 @@
/* chain.h
*
* This include file contains all the constants and structures associated
* with the Doubly Linked Chain Handler.
*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __CHAIN_h
#define __CHAIN_h
#include "address.h"
/*
* This is used to manage each element (node) which is placed
* on a chain.
*
* NOTE: Typically, a more complicated structure will use the
* chain package. The more complicated structure will
* include a chain node as the first element in its
* control structure. It will then call the chain package
* with a pointer to that node element. The node pointer
* and the higher level structure start at the same address
* so the user can cast the pointers back and forth.
*/
typedef struct Chain_Node_struct Chain_Node;
struct Chain_Node_struct {
Chain_Node *next;
Chain_Node *previous;
};
/*
* This is used to manage a chain. A chain consists of a doubly
* linked list of zero or more nodes.
*
* NOTE: This implementation does not require special checks for
* manipulating the first and last elements on the chain.
* To accomplish this the chain control structure is
* treated as two overlapping chain nodes. The permanent
* head of the chain overlays a node structure on the
* first and permanent_null fields. The permanent tail
* of the chain overlays a node structure on the
* permanent_null and last elements of the structure.
*/
typedef struct {
Chain_Node *first;
Chain_Node *permanent_null;
Chain_Node *last;
} Chain_Control;
/*
* _Chain_Initialize
*
* This routine initializes the_chain structure to manage the
* contiguous array of number_nodes nodes which starts at
* starting_address. Each node is of node_size bytes.
*/
void _Chain_Initialize(
Chain_Control *the_chain,
void *starting_address,
unsigned32 number_nodes,
unsigned32 node_size
);
/*
* _Chain_Initialize_empty
*
* This routine initializes the specified chain to contain zero nodes.
*/
STATIC INLINE void _Chain_Initialize_empty(
Chain_Control *the_chain
);
/*
* _Chain_Extract_unprotected
*
* This routine extracts the_node from the chain on which it resides.
* It does NOT disable interrupts to insure the atomicity of the
* extract operation.
*/
STATIC INLINE void _Chain_Extract_unprotected(
Chain_Node *the_node
);
/*
* _Chain_Extract
*
* This routine extracts the_node from the chain on which it resides.
* It disables interrupts to insure the atomicity of the
* extract operation.
*/
void _Chain_Extract(
Chain_Node *the_node
);
/*
* _Chain_Get_unprotected
*
* This function removes the first node from the_chain and returns
* a pointer to that node. If the_chain is empty, then NULL is returned.
* It does NOT disable interrupts to insure the atomicity of the
* get operation.
*/
STATIC INLINE Chain_Node *_Chain_Get_unprotected(
Chain_Control *the_chain
);
/*
* _Chain_Get
*
* This function removes the first node from the_chain and returns
* a pointer to that node. If the_chain is empty, then NULL is returned.
* It disables interrupts to insure the atomicity of the
* get operation.
*/
Chain_Node *_Chain_Get(
Chain_Control *the_chain
);
/*
* _Chain_Get_first_unprotected
*
* This function removes the first node from the_chain and returns
* a pointer to that node. It does NOT disable interrupts to insure
* the atomicity of the get operation.
*/
STATIC INLINE Chain_Node *_Chain_Get_first_unprotected(
Chain_Control *the_chain
);
/*
* _Chain_Insert_unprotected
*
* This routine inserts the_node on a chain immediately following
* after_node. It does NOT disable interrupts to insure the atomicity
* of the extract operation.
*/
STATIC INLINE void _Chain_Insert_unprotected(
Chain_Node *after_node,
Chain_Node *the_node
);
/*
* _Chain_Insert
*
* This routine inserts the_node on a chain immediately following
* after_node. It disables interrupts to insure the atomicity
* of the extract operation.
*/
void _Chain_Insert(
Chain_Node *after_node,
Chain_Node *the_node
);
/*
* _Chain_Append_unprotected
*
* This routine appends the_node onto the end of the_chain.
* It does NOT disable interrupts to insure the atomicity of the
* append operation.
*/
STATIC INLINE void _Chain_Append_unprotected(
Chain_Control *the_chain,
Chain_Node *the_node
);
/*
* _Chain_Append
*
* This routine appends the_node onto the end of the_chain.
* It disables interrupts to insure the atomicity of the
* append operation.
*/
void _Chain_Append(
Chain_Control *the_chain,
Chain_Node *the_node
);
/*
* _Chain_Prepend_unprotected
*
* This routine prepends the_node onto the front of the_chain.
* It does NOT disable interrupts to insure the atomicity of the
* prepend operation.
*/
STATIC INLINE void _Chain_Prepend_unprotected(
Chain_Control *the_chain,
Chain_Node *the_node
);
/*
* _Chain_Prepend
*
* This routine prepends the_node onto the front of the_chain.
* It disables interrupts to insure the atomicity of the
* prepend operation.
*/
STATIC INLINE void _Chain_Prepend(
Chain_Control *the_chain,
Chain_Node *the_node
);
/*
* _Chain_Insert_chain
*
* This routine inserts a chain after the specified node in another
* chain. It is assumed that the insert after node is not on the
* second chain.
*/
void _Chain_Insert_chain(
Chain_Node *insert_after,
Chain_Control *to_insert
);
/*
* _Chain_Head
*
* This function returns a pointer to the first node on the chain.
*/
STATIC INLINE Chain_Node *_Chain_Head(
Chain_Control *the_chain
);
/*
* _Chain_Tail
*
* This function returns a pointer to the last node on the chain.
*/
STATIC INLINE Chain_Node *_Chain_Tail(
Chain_Control *the_chain
);
/*
* _Chain_Is_head
*
* This function returns TRUE if the_node is the head of the_chain and
* FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_head(
Chain_Control *the_chain,
Chain_Node *the_node
);
/*
* _Chain_Is_tail
*
* This function returns TRUE if the_node is the tail of the_chain and
* FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_tail(
Chain_Control *the_chain,
Chain_Node *the_node
);
/*
* _Chain_Is_first
*
* This function returns TRUE if the_node is the first node on a chain and
* FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_first(
Chain_Node *the_node
);
/*
* _Chain_Is_last
*
* This function returns TRUE if the_node is the last node on a chain and
* FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_last(
Chain_Node *the_node
);
/*
* _Chain_Is_empty
*
* This function returns TRUE if there a no nodes on the_chain and
* FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_empty(
Chain_Control *the_chain
);
/*
* _Chain_Has_only_one_node
*
* This function returns TRUE if there is only one node on the_chain and
* FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Has_only_one_node(
Chain_Control *the_chain
);
/*
* _Chain_Is_null
*
* This function returns TRUE if the_chain is NULL and FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_null(
Chain_Control *the_chain
);
/*
* _Chain_Is_null_node
*
* This function returns TRUE if the_node is NULL and FALSE otherwise.
*/
STATIC INLINE boolean _Chain_Is_null_node(
Chain_Node *the_node
);
#include "chain.inl"
#endif
/* end of include file */

View File

@@ -1,270 +0,0 @@
/*
* This include file contains the bodies of the routines which are
* associated with doubly linked chains and inlined.
*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __INLINE_CHAIN_inl
#define __INLINE_CHAIN_inl
/*PAGE
*
* _Chain_Is_null
*/
STATIC INLINE boolean _Chain_Is_null(
Chain_Control *the_chain
)
{
return ( the_chain == NULL );
}
/*PAGE
*
* _Chain_Is_null_node
*/
STATIC INLINE boolean _Chain_Is_null_node(
Chain_Node *the_node
)
{
return ( the_node == NULL );
}
/*PAGE
*
* _Chain_Head
*/
STATIC INLINE Chain_Node *_Chain_Head(
Chain_Control *the_chain
)
{
return (Chain_Node *) the_chain;
}
/*PAGE
*
* _Chain_Tail
*/
STATIC INLINE Chain_Node *_Chain_Tail(
Chain_Control *the_chain
)
{
return (Chain_Node *) &the_chain->permanent_null;
}
/*PAGE
*
* _Chain_Is_empty
*/
STATIC INLINE boolean _Chain_Is_empty(
Chain_Control *the_chain
)
{
return ( the_chain->first == _Chain_Tail( the_chain ) );
}
/*PAGE
*
* _Chain_Is_first
*/
STATIC INLINE boolean _Chain_Is_first(
Chain_Node *the_node
)
{
return ( the_node->previous == NULL );
}
/*PAGE
*
* _Chain_Is_last
*/
STATIC INLINE boolean _Chain_Is_last(
Chain_Node *the_node
)
{
return ( the_node->next == NULL );
}
/*PAGE
*
* _Chain_Has_only_one_node
*/
STATIC INLINE boolean _Chain_Has_only_one_node(
Chain_Control *the_chain
)
{
return ( the_chain->first == the_chain->last );
}
/*PAGE
*
* _Chain_Is_head
*/
STATIC INLINE boolean _Chain_Is_head(
Chain_Control *the_chain,
Chain_Node *the_node
)
{
return ( the_node == _Chain_Head( the_chain ) );
}
/*PAGE
*
* _Chain_Is_tail
*/
STATIC INLINE boolean _Chain_Is_tail(
Chain_Control *the_chain,
Chain_Node *the_node
)
{
return ( the_node == _Chain_Tail( the_chain ) );
}
/*PAGE
*
* Chain_Initialize_empty
*/
STATIC INLINE void _Chain_Initialize_empty(
Chain_Control *the_chain
)
{
the_chain->first = _Chain_Tail( the_chain );
the_chain->permanent_null = NULL;
the_chain->last = _Chain_Head( the_chain );
}
/*PAGE
*
* _Chain_Extract_unprotected
*/
STATIC INLINE void _Chain_Extract_unprotected(
Chain_Node *the_node
)
{
Chain_Node *next;
Chain_Node *previous;
next = the_node->next;
previous = the_node->previous;
next->previous = previous;
previous->next = next;
}
/*PAGE
*
* _Chain_Get_first_unprotected
*/
STATIC INLINE Chain_Node *_Chain_Get_first_unprotected(
Chain_Control *the_chain
)
{
Chain_Node *return_node;
Chain_Node *new_first;
return_node = the_chain->first;
new_first = return_node->next;
the_chain->first = new_first;
new_first->previous = _Chain_Head( the_chain );
return return_node;
}
/*PAGE
*
* Chain_Get_unprotected
*/
STATIC INLINE Chain_Node *_Chain_Get_unprotected(
Chain_Control *the_chain
)
{
if ( !_Chain_Is_empty( the_chain ) )
return _Chain_Get_first_unprotected( the_chain );
else
return NULL;
}
/*PAGE
*
* _Chain_Insert_unprotected
*/
STATIC INLINE void _Chain_Insert_unprotected(
Chain_Node *after_node,
Chain_Node *the_node
)
{
Chain_Node *before_node;
the_node->previous = after_node;
before_node = after_node->next;
after_node->next = the_node;
the_node->next = before_node;
before_node->previous = the_node;
}
/*PAGE
*
* _Chain_Append_unprotected
*/
STATIC INLINE void _Chain_Append_unprotected(
Chain_Control *the_chain,
Chain_Node *the_node
)
{
Chain_Node *old_last_node;
the_node->next = _Chain_Tail( the_chain );
old_last_node = the_chain->last;
the_chain->last = the_node;
old_last_node->next = the_node;
the_node->previous = old_last_node;
}
/*PAGE
*
* _Chain_Prepend_unprotected
*/
STATIC INLINE void _Chain_Prepend_unprotected(
Chain_Control *the_chain,
Chain_Node *the_node
)
{
_Chain_Insert_unprotected( _Chain_Head( the_chain ), the_node );
}
/*PAGE
*
* _Chain_Prepend
*/
STATIC INLINE void _Chain_Prepend(
Chain_Control *the_chain,
Chain_Node *the_node
)
{
_Chain_Insert( _Chain_Head( the_chain ), the_node );
}
#endif
/* end of include file */

View File

@@ -1,18 +0,0 @@
/*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __ISR_h
#define __ISR_h
typedef unsigned32 ISR_Level;
#define _ISR_Disable
#define _ISR_Enable
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,129 +0,0 @@
OBJECT: Object_name
DESCRIPTION:
This object ...
(briefly describe the object's primary responsibility or purpose)
COPYRIGHT:
Copyright (c) 1995, On-Line Applications Research Corporation (OAR)
PORTING:
THEORY OF OPERATION:
DERIVATION:
DEPENDENCIES:
NOTES:
ATTRIBUTE DESCRIPTIONS:
ATTRIBUTE: An_attribute
DESCRIPTION:
This attribute ...
(briefly describe the attribute's primary purpose)
TYPE: float [constant]|integer [constant]
(indicate one of the above)
RANGE|MEMBERS: 0 - +INFINITY or MEMBER1, MEMBER2, MEMBER3
(indicate RANGE or MEMBERS and specify, MEMBERS should be listed
in all caps, RANGE can use +/-INFINITY)
UNITS:
SCALE FACTOR:
DEFAULTS:
TOLERANCE:
REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
REFERENCES:
NOTES:
ASSOCIATION DESCRIPTIONS:
ASSOCIATION:
DESCRIPTION:
VISIBILTY:
ASSOCIATED WITH:
MULTIPLICITY:
REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
REFERENCES:
NOTES:
ABSTRACT TYPE DESCRIPTIONS:
ABSTRACT TYPE:
DESCRIPTION:
This type ...
(briefly describe the type's primary purpose)
VISIBILITY: private|public
(indicate one of the above)
DERIVATION:
MEMBERS|RANGE: 0 - +INFINITY or MEMBER1, MEMBER2, MEMBER3
(indicate RANGE or MEMBERS and specify, MEMBERS should be listed
in all caps, RANGE can use +/-INFINITY)
UNITS:
SCALE FACTOR:
DEFAULTS:
TOLERANCE:
REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
REFERENCES:
NOTES:
DATA ITEM DESCRIPTIONS:
DATA ITEM:
DESCRIPTION:
This data item ...
(briefly describe the data item's primary purpose)
TYPE:
UNITS:
SCALE FACTOR:
DEFAULTS:
TOLERANCE:
NOTES:
METHODS DESCRIPTIONS:
(List methods alphabetically grouping public methods followed
by private methods.)
METHOD: Some_method
DESCRIPTION:
This method ...
(briefly describe the method's primary responsibility)
VISIBILITY: private|public
(indicate one of the above)
INPUTS:
input_one - the first and only input
(specify the logical inputs followed by a description,
indicate 'none' if there are no inputs)
OUTPUTS:
output_one - the first and only output
(specify the logical outputs followed by a description,
indicate 'none' if there are no outputs, use 'result' if the
method is a boolean function)
REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
REFERENCES:
NOTES:
PDL:
TASK DESCRIPTIONS:
TASK:
DESCRIPTION:
This task ...
(briefly describe the task's primary responsibility)
INPUTS:
SYNCHRONIZATION: delay|event|message|semaphore|signal|period
(indicate one or more of the above and list any events,
messages, or signals that can be received)
TIMING:
(specify any timing information that is related to the
synchronization specified above)
REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
REFERENCES:
NOTES:
PDL:
ENDOBJECT: Object_name

View File

@@ -1,136 +0,0 @@
(All fields marked with an '*' are optional and can be deleted if
there is no applicable information.
All entity names (OBJECT, ATTRIBUTE, METHOD, etc.) are proper nouns
and thus should only have the first letter capitalized.)
OBJECT: Object_name
DESCRIPTION:
This object ...
(briefly describe the object's primary responsibility or purpose)
*COPYRIGHT:
Copyright (c) 1995, On-Line Applications Research Corporation (OAR)
*PORTING:
THEORY OF OPERATION:
*DERIVATION:
*DEPENDENCIES:
*NOTES:
ATTRIBUTE DESCRIPTIONS:
ATTRIBUTE: An_attribute
DESCRIPTION:
This attribute ...
(briefly describe the attribute's primary purpose)
TYPE: float [constant]|integer [constant]
(indicate one of the above)
MEMBERS|RANGE: 0 - +INFINITY or MEMBER1, MEMBER2, MEMBER3
(indicate RANGE or MEMBERS and specify, MEMBERS should be listed
in all caps, RANGE can use +/-INFINITY)
*UNITS:
*SCALE FACTOR:
*DEFAULTS:
*TOLERANCE:
*REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
*REFERENCES:
*NOTES:
ASSOCIATION DESCRIPTIONS:
ASSOCIATION: name
DESCRIPTION:
This association ...
(briefly describe the association's primary purpose)
VISIBILITY: private|public
(indicate one of the above)
ASSOCIATED WITH: object_name
MULTIPLICITY:
*REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
*REFERENCES:
*NOTES:
ABSTRACT TYPE DESCRIPTIONS:
ABSTRACT TYPE: name
DESCRIPTION:
This type ...
(briefly describe the type's primary purpose)
VISIBILITY: private|public
(indicate one of the above)
DERIVATION:
MEMBERS|RANGE: 0 - +INFINITY or MEMBER1, MEMBER2, MEMBER3
(indicate RANGE or MEMBERS and specify, MEMBERS should be listed
in all caps, RANGE can use +/-INFINITY)
*UNITS:
*SCALE FACTOR:
*DEFAULTS:
*TOLERANCE:
*REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
*REFERENCES:
*NOTES:
DATA ITEM DESCRIPTIONS:
DATA ITEM: name
DESCRIPTION:
This data item ...
(briefly describe the data item's primary purpose)
TYPE:
*UNITS:
*SCALE FACTOR:
*DEFAULTS:
*TOLERANCE:
*NOTES:
METHOD DESCRIPTIONS:
(List methods alphabetically grouping public methods followed
by private methods.)
METHOD: Some_method
DESCRIPTION:
This method ...
(briefly describe the method's primary responsibility)
VISIBILITY: private|public
(indicate one of the above)
INPUTS:
input_one - the first and only input
(specify the logical inputs followed by a description,
indicate 'none' if there are no inputs)
OUTPUTS:
output_one - the first and only output
(specify the logical outputs followed by a description,
indicate 'none' if there are no outputs, use 'result' if the
method is a boolean function)
*REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
*REFERENCES:
*NOTES:
PDL:
TASK DESCRIPTIONS:
TASK: name
DESCRIPTION:
This task ...
(briefly describe the task's primary responsibility)
INPUTS:
SYNCHRONIZATION: delay|event|message|semaphore|signal|period
(indicate one or more of the above and list any events,
messages, or signals that can be received)
TIMING:
(specify any timing information that is related to the
synchronization specified above)
*REQUIREMENTS:
ABCD 3.2.4 A paragraph title
(indicate document, paragraph number, paragraph title)
*REFERENCES:
*NOTES:
PDL:
ENDOBJECT: Object_name

View File

@@ -1,36 +0,0 @@
/*
* COPYRIGHT (c) 1997.
* On-Line Applications Research Corporation (OAR).
* All rights reserved.
*
* $Id$
*/
#ifndef __SYSTEM_h
#define __SYSTEM_h
typedef unsigned int unsigned32;
typedef unsigned short unsigned16;
typedef unsigned char unsigned8;
#define USE_INLINES
#define STATIC static
#define INLINE inline
#ifndef NULL
#define NULL 0
#endif
typedef unsigned int boolean;
#if !defined( TRUE ) || (TRUE != 1)
#undef TRUE
#define TRUE (1)
#endif
#if !defined( FALSE ) || (FALSE != 0)
#undef FALSE
#define FALSE 0
#endif
#endif

View File

@@ -1,44 +0,0 @@
OBJECT: Testfile
DESCRIPTION:
This file contains one abstract type without a range and two
abstract types with filler ranges.
THEORY OF OPERATION:
This file will be used to test the .d compiler.
ATTRIBUTE DESCRIPTIONS: none
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS:
ABSTRACT TYPE: ID
DESCRIPTION:
This type defines an identifier for an event set that may be manipulated.
VISIBILITY: public
DERIVATION: Bin_type handle
ABSTRACT TYPE: Test_ID
DESCRIPTION:
This is the abstract type with the range made optional.
VISIBILITY: public
DERIVATION: Bin_type handle
ABSTRACT TYPE: Input_Buffer
DESCRIPTION:
This type indicates the maximum input buffer.
VISIBILITY: public
DERIVATION: string
ABSTRACT TYPE: Image_t
DESCRIPTION:
This type specifies the data maintained for the screen.
VISIBILITY: public
DERIVATION: array [LINES][COLUMNS] of character
DATA ITEM DESCRIPTIONS: none
METHOD DESCRIPTIONS: none
TASK DESCRIPTIONS: none
ENDOBJECT: Testfile

View File

@@ -1,48 +0,0 @@
OBJECT: Testfile
DESCRIPTION:
This file contains one abstract type without a range and two
abstract types with filler ranges.
THEORY OF OPERATION:
This file will be used to test the .d compiler.
ATTRIBUTE DESCRIPTIONS: none
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS:
ABSTRACT TYPE: ID
DESCRIPTION:
This type defines an identifier for an event set that may be manipulated.
VISIBILITY: public
DERIVATION: Bin_type handle
RANGE: 99 - 99
ABSTRACT TYPE: Test_ID
DESCRIPTION:
This is the abstract type with the range made optional.
VISIBILITY: public
DERIVATION: Bin_type handle
ABSTRACT TYPE: Input_Buffer
DESCRIPTION:
This type indicates the maximum input buffer.
VISIBILITY: public
DERIVATION: string
RANGE: 99 - 99
ABSTRACT TYPE: Image_t
DESCRIPTION:
This type specifies the data maintained for the screen.
VISIBILITY: public
DERIVATION: array [LINES][COLUMNS] of character
RANGE: 0 - 1 QQQ
DATA ITEM DESCRIPTIONS: none
METHOD DESCRIPTIONS: none
TASK DESCRIPTIONS: none
ENDOBJECT: Testfile

View File

@@ -1,27 +0,0 @@
OBJECT: AVDAS
DESCRIPTION:
This file contains a test case which blows up pdl2texi when optimization
is enabled. See the makefile for details.
THEORY OF OPERATION:
This object ..
NOTES:
The following blows up pdl2texi when -O is set.
@table
System Switch
@end table
ATTRIBUTE DESCRIPTIONS: none
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS: none
DATA ITEM DESCRIPTIONS: none
METHOD DESCRIPTIONS: none
TASK DESCRIPTIONS: none
ENDOBJECT: AVDAS