Subversion Repositories svn1-original

Rev

Rev 54 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*************************************************************************
*           Copyright (C) 1995 Embedded Solutions
*                       All rights reserved
*
* file:     hdrs/proto.h
*
* purpose:  System wide prototypes and external declarations
*
* programmer: David Purdie
*
*   00.0    27/01/95    DDP     Tidies up the program and formatted the file
*   00.1    27/01/95    DDP     initial release
*
**************************************************************************/


#include    <ctype.h>

#ifdef __MINGW32__
#include    <strings.h>
#include    <memory.h>
#include    <stdlib.h>
#include    <stdio.h>
#endif

extern MARA_CFG config;                          /* Working configuration */
extern char invalid_copy;                        /* Quick nasty test of copy */
extern int  parallel_legs;                       /* Legs run in Parallel */
extern ty_check_error check_error;
extern char confile[20];                         /* Name of the config file */
extern char datfile[20];                         /* Name of the data file */
extern char filebase[20];                        /* Event file name base */
extern int  team;                                /* Current team number */
extern team_type team_buf;                       /* Holds team data currently under display */
extern int  n_lines;                             /* Number of lines on the screen */
extern int  n_cols;
extern int  rubout;                              /* users rubout character */
extern int  abort_flag;                          /* Abort character detected */
extern int  fnc_opr;                             /* Function key pushed */
extern int  leg;                                 /* Leg under investigation */


int         main( int argc, char *argv[] );
void        usage( void );
void        ms_system( void );
void        test_legal_version( void );
void        display_structures(void);

bool        test_times( team_type * data, int upto_leg );
void        set_times( team_type * data );

/*
**  ages.c
*/
char       *age_a( int age );


/*
**  config.c
*/
void        compact( char *str );
void        conf_menu( void );
bool        configure( char *c_name, int mode );
void        d_class( MARA_CFG * config, int operation );
void        d_cntry( MARA_CFG * config, int operation );
void        d_config( MARA_CFG * config, int operation );
void        d_winners( MARA_CFG * config, int operation );
bool        define_class( void );
bool        define_config( void );
void        define_country( void );
bool        define_winners( void );
void        display_class( void );
void        display_config( void );
void        display_country( void );
void        display_winners( void );
int         f_comp_int( const void * a, const void * b );
bool        r_config( FILE *fcon );
bool        rd_config( void );
bool        valid_field( int x );
bool        wt_config( void );

void        data_check( void );
bool        correct_times( int tm, int list );

void        f_disqualify( void );
void        ds_team( void );
void        ds_non_equestrian(void);
void        ds_requal( void );
void        ds_displ( void );
void        del_team( void );

/*
**  legtime.c
*/
void        set_legs( void );
void        tm_lgs( void );
void        tm_lgs1( void );
void        leg_start( void );
void        tm_fixedstart( void );
void        tm_staggered( void );
void        tm_clearleg( void );
void        tm_clearleg_specified(int cleg, bool manual, int line);

void        leg_ini( void );
void        tm_init( void );
void        tm_gen( void );
void        legs_start_report( int line );
void        ls_timer( t_legs * ptr, int num );
void        ls_team( int *last, t_legs * data );
int         sort_legs( const void * a, const void * b );

void        do_menu( char *header, char *prompt, menu_table * table );

bool        open_printer( char *name, char *ext, int width, bool html, char * title );
bool        open_printer_name( char *pname, int width, bool html, char * title );
bool        close_printer( void );
int         print( char *format, ... );
void        printbanner( char *title );
void        print_underline( bool on );
void        print_bold( bool on );

void        report( void );
void        pri_team( void );
void        pri_leg( void );
void        p_place( ty_s_data * ptr, int leg, unsigned k );
void        p_team( int i, int leg );
void        pri_eleg( void );
void        pe_place( ty_s_data * ptr, int leg, unsigned k );
void        pe_team( int i, int leg );
void        pri_final_html( void );
void        pri_final( void );
void        pri_interim( void );
void        print_class_header( int class, int final );
void        print_class_stats( int c, int final );
void        print_legend( int class, int full );
char       *pi_place( int num, int disq, time_t time );
char       *pr_place( int num, int disq );
char       *pr_place_ne( int num, int disq, int ne );
bool        ck_data( int leg, int mode );
void        srt_place( void );
void        do_big_sort( void );
void        sort_team_data( int leg, int mode );
int         sort_comp( const void * a, const void * b );
int         sort_comp_cname( const void * aa, const void * bb );
bool        load_report_data( void );
void        gen_stats( void );
void        display_summary (void);
void        pri_summary (void);


void        team_update( void );
void        team_display( void );
void        leg_mods( void );
void        d_display( int operation );
void        d_leg( int y, int leg, leg_type * data, int valid,
                   int operation );
void        d_time( int x, int y, char *prompt, time_t *data, int valid );
bool        d_field( int x, int y, char *prompt, int type, int length,
                     void *data, int valid, int operation );
bool        g_tnum( int x, int y, char *prompt );
bool        g_record( int _team, team_type * data );
void        clr_team( int tm, team_type * data );
bool        put_team_record( int _team, team_type * data );
bool        init_team_data( void );
void        fix_team_data( void );

char       *time_a( time_t tim );
char       *time_fa( time_t tim, char flag );
time_t      conv_time( int hh, int mm, int ss );
time_t      get_time( time_t tim );

void        upload( void );
int         ins_data( int tm, int hh, int mm, int ss );
void        supload( void );
void        tupload( void );
char        p_del( char *c );
void        tdnload( void );
void        dnload( void );
char        getfname( char *prompt, char *ext );

void        init_screen( void );
void        fix_screen( void );
void        cur( int x, int y );
void        save_cur(void);
void        restore_cur(void);
void        clearscreen( void );
void        beep( void );
void        flush_out( void );
int         getinp( void );
bool        getnum( int max_len, int *final_buf );
int         getstring( int len, char *str, enum class_enum limit );
sex_type    getsex( void );
int         getclass( void );
int         getcountry( void );
char        getfnc( char *list );
bool        getyes( char *prompt );
char        to_upper( char ch );
char        to_lower( char ch );
void        sleep( int t );
int         lookup_class( char *text, MARA_CFG *config );

bool t_parse_number( char **linep, int *number );
bool t_parse_text( char **linep, char *text );
char p_eol( char *c );
char * p_filename( char *filename, char *suffix, char *ext );
void print_colour( long colour );
char *tprintf( char *format, ... );
int raw_print( char *format, ... );
void console_prompt( char prompt );
void console_clreol( void );
void calc_class_summary( t_class_summary * ptr );
int csv_print( char *format, ... );
void set_commands ( char * cptr);
void tdnload_store(void);


/********************************* EOF ***********************************/