| /* |
| * |
| * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| */ |
| #ifndef _prototypes_h |
| #define _prototypes_h |
| |
| |
| /* |
| ** boot.c |
| */ |
| void init_boot( char *p, short stage); |
| |
| /* |
| ** disconct.c |
| */ |
| void kill_boot ( LPB *link ); |
| void disconnected( LPB *link ); |
| short boot_3( LPB *link, PKT *pkt ); |
| short send_3_pkt( LPB *link, PKT *pkt); |
| |
| /* |
| ** error.c |
| */ |
| void du_error(void); |
| |
| /* |
| ** formpkt.c |
| */ |
| ushort sum_it( PKT *pkt ) ; |
| void form_rup_pkt( RUP *form_rup, PKT *pkt ); |
| void form_poll_pkt ( int type, LPB *link, int node ); |
| void form_route_pkt ( int type, PKT *pkt, LPB *link ); |
| |
| /* |
| ** idle.c |
| */ |
| void idle( Process *idle_p ); |
| |
| /* |
| ** init.c |
| */ |
| void general_init(void); |
| void mem_halt( int error); |
| |
| /* |
| ** linkinit.c |
| */ |
| void initlink( u_short number, LPB *link); |
| void runlink( LPB *link); |
| |
| /* |
| ** list.c |
| */ |
| PKT *get_free_start(void); |
| void put_free_start( PKT *pkt); |
| |
| #ifdef HOST |
| int can_remove_transmit ( PKT **pkt, PKT *pointer ); |
| #endif |
| |
| #ifdef RTA |
| int spl7 ( void ); |
| int spl0 ( void ); |
| Q_BUF *get_free_q( void ); |
| PKT *get_free_end(void); |
| int add_end( PKT *pkt, PHB *phb, int type); |
| unsigned short free_packets( PHB *phb, int type); |
| int can_remove_start( PKT **pkt, PHB *phb, int type); |
| int can_add_start( PHB *phb, int type); |
| int can_add_end( PHB *phb, int type); |
| void put_free_end( PKT *pkt); |
| int remove_start( PKT **pkt, PHB *phb, int type); |
| #endif |
| |
| /* |
| ** Lrt.c |
| */ |
| void lrt( Process *lrt_p, LPB *link ); |
| |
| #ifdef RTA |
| void set_led_red ( LPB *link ); |
| #endif |
| |
| /* |
| ** ltt.c |
| */ |
| void ltt( Process *ltt_p, LPB *link, PHB *phb_ptr[] ); |
| void send_poll ( LPB *link ); |
| void request_id ( LPB *link ); |
| void send_topology_update ( LPB *link ); |
| void send_topology ( LPB *link ); |
| void supply_id ( LPB *link ); |
| |
| #ifdef RTA |
| void redirect_queue ( LPB *link, ushort flush ); |
| int obtain_rup ( int rup_number, PKT **pkt_address, LPB *link ); |
| #endif |
| |
| #ifdef TESTING_PERF |
| int consume_cpu( void ); |
| #endif |
| |
| /* |
| ** lttwake.c |
| */ |
| #ifdef HOST |
| void ltt_wakeup( Process *ltt_wakeup_p ); |
| #endif |
| |
| /* |
| ** mapgen.c |
| */ |
| void generate_id_map( short mapping, ROUTE_STR route[] ); |
| void gen_map( int mapping, int looking_at, int come_from, ROUTE_STR route[], int link, int *ttl ); |
| void adjust_ttl( int mapping, int looking_at, int come_from, ROUTE_STR route[], int link, int *ttl); |
| void init_sys_map(void); |
| |
| /* |
| ** mmu.c |
| */ |
| char *rio_malloc( unsigned int amount); |
| char *rio_calloc( unsigned int num, unsigned int size); |
| ERROR rio_mmu_init( uint total_mem ); |
| |
| /* |
| ** partn.c |
| */ |
| void partition_tx( struct PHB *phb, u_short tx_size, u_short rx_size, u_short rx_limit); |
| |
| /* |
| ** poll.c |
| */ |
| void tx_poll( Process *tx_poll_p); |
| |
| /* |
| ** process.c |
| */ |
| int get_proc_space( Process **pd, int **pws, int wssize); |
| |
| /* |
| ** readrom.c |
| */ |
| void read_serial_number(char *buf); |
| |
| /* |
| ** rio.c |
| */ |
| int main( void ); |
| |
| /* |
| ** route.c |
| */ |
| void route_update ( PKT *pkt, LPB *link); |
| |
| /* |
| ** rtainit.c |
| */ |
| #if defined(RTA) |
| void rta_init(ushort RtaType); |
| #endif /* defined(RTA) */ |
| |
| /* |
| ** rupboot.c |
| */ |
| void rup_boot( PKT *pkt, RUP *this_rup, LPB *link); |
| |
| #ifdef RTA |
| void kill_your_neighbour( int link_to_kill ); |
| #endif |
| |
| /* |
| ** rupcmd.c |
| */ |
| void rup_command( PKT *pkt, struct RUP *this_rup, LPB *link); |
| |
| /* |
| ** ruperr.c |
| */ |
| void rup_error( PKT *pkt, RUP *this_rup, LPB *link ); |
| void illegal_cmd( PKT *src_pkt ); |
| |
| /* |
| ** ruppoll.c |
| */ |
| void rup_poll( PKT *pkt, RUP *this_rup, LPB *link ); |
| |
| /* |
| ** ruppower.c |
| */ |
| void rup_power( PKT *pkt, RUP *this_rup, LPB *link ); |
| |
| /* |
| ** ruprm.c |
| */ |
| void rup_route_map( PKT *pkt, RUP *this_rup, LPB *link); |
| |
| /* |
| ** rupstat.c |
| */ |
| void rup_status( PKT *pkt, RUP *this_rup, LPB *link); |
| |
| /* |
| ** rupsync.c |
| */ |
| void rup_sync( PKT *pkt); |
| |
| /* |
| ** rxpkt.c |
| */ |
| ERROR rx_pkt( PKT_ptr_ptr pkt_address, LPB *link); |
| |
| /* |
| ** sendsts.c |
| */ |
| void send_status( PKT *requesting_pkt, RUP *this_rup); |
| |
| /* |
| ** serial.c |
| */ |
| void assign_serial ( char *ser_in, char *ser_out); |
| int cmp_serial ( char *ser_1, char *ser_2); |
| |
| /* |
| ** txpkt.c |
| */ |
| ERROR tx_pkt( PKT *pkt, LPB *link); |
| short send_sync( LPB *link); |
| |
| #endif /* _prototypes_h */ |