/* @(#)marker.h	1.4  2/10/93 */
/*******************************************************************************

This code was written and designed by 
Andrew Gene HALL of I.N. Services Pty. Ltd., Scarborough WA, Australia,
for the 
University of Western Australia, Crawley WA, Australia.

*******************************************************************************/

#ifndef MARKER_H
#define MARKER_H
#include "sf_space.h"

/* external and forwardly declared functions */
Data_Seq        *replicate_DS( Data_Seq * );
Data_Seq        *get_Marked_DS( Data_Seq *, Data_Item **, char **);
Boolean    refs_to_SB( Data_Seq *, char **, Data_Item **);
void    refs_by_frame_codes( Data_Seq *, Data_Item **, char **, char**,char **);
int	compare_2_DI( Data_Item	*, Data_Item *);
void	Mark_LVS( List_Value_Seq *, Data_Item **, char **);

/* Mark_Data_Item
 * Use tsearch to mark those data items found so far.
 */
#define Mark_Data_Item( d, R )                                                 \
   (void)tsearch( (char *)d, (char **)R, compare_2_DI )

/* CONVERT_TO_FRAME_CODE
 * strlen("save_name") -"save_" +'$' +'\0'
 */
#define CONVERT_TO_FRAME_CODE( a, b)                                           \
{                                                                              \
   char *alpha;                                                                \
                                                                               \
   alpha = b; alpha = alpha +5;                                                \
   a = (char *)malloc( strlen(alpha) +2);                                      \
   strcpy( a, "$");                                                            \
   strcat( a, alpha );                                                         \
} while(0)
#endif
