1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
/* $Id: pkt.h,v 1.6 1999/07/08 19:00:22 kohl Exp $ */
/*
* PVM version 3.4: Parallel Virtual Machine System
* University of Tennessee, Knoxville TN.
* Oak Ridge National Laboratory, Oak Ridge TN.
* Emory University, Atlanta GA.
* Authors: J. J. Dongarra, G. E. Fagg, M. Fischer
* G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci,
* P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
* (C) 1997 All Rights Reserved
*
* NOTICE
*
* 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 the copyright notice and this permission notice appear in
* supporting documentation.
*
* Neither the Institutions (Emory University, Oak Ridge National
* Laboratory, and University of Tennessee) nor the Authors make any
* representations about the suitability of this software for any
* purpose. This software is provided ``as is'' without express or
* implied warranty.
*
* PVM version 3 was funded in part by the U.S. Department of Energy,
* the National Science Foundation and the State of Tennessee.
*/
/*
* pkt.h
*
* Packet buffers.
*
* $Log: pkt.h,v $
* Revision 1.6 1999/07/08 19:00:22 kohl
* Fixed "Log" keyword placement.
* - indent with " * " for new CVS.
*
* Revision 1.5 1997/06/25 22:09:17 pvmsrc
* Markus adds his frigging name to the author list of
* every file he ever looked at...
*
* Revision 1.4 1997/04/24 20:59:42 pvmsrc
* added pk_rip structure member (used on mpps)
*
* Revision 1.3 1997/03/06 21:09:10 pvmsrc
* - define __PKT_H__ so that multiple includes of pkt.h won't honk.
*
* Revision 1.2 1997/01/28 19:28:16 pvmsrc
* New Copyright Notice & Authors.
*
* Revision 1.1 1996/09/23 23:43:22 pvmsrc
* Initial revision
*
* Revision 1.3 1995/07/24 18:26:09 manchek
* added message header fields and cpos, removed PF_STARTED
*
* Revision 1.2 1994/06/03 20:38:20 manchek
* version 3.3.0
*
* Revision 1.1 1993/08/30 23:26:49 manchek
* Initial revision
*
*/
#ifndef __PKT_H__
#define __PKT_H__
struct pkt {
struct pkt *pk_link; /* queue or 0 */
struct pkt *pk_rlink;
struct pkt *pk_tlink; /* scheduling queue or 0 */
struct pkt *pk_trlink;
char *pk_buf; /* buffer or zero if master pkt */
char *pk_dat; /* data */
int pk_max; /* size of buffer */
int pk_len; /* length of data */
int pk_src; /* source tid */
int pk_dst; /* dest tid */
int pk_flag; /* fragment flags */
int pk_enc; /* message encoding */
int pk_tag; /* message type tag */
int pk_ctx; /* message context */
int pk_wid; /* message wait context id */
int pk_crc; /* message checksum */
int pk_nrt; /* retry count */
int pk_seq; /* seq num */
int pk_ack; /* ack num */
int pk_rip; /* received in place - used on mpps */
struct hostd *pk_hostd; /* receiving host */
struct timeval pk_rtv; /* time to retry */
struct timeval pk_rta; /* next-retry accumulator */
struct timeval pk_rto; /* total time spent on pkt */
struct timeval pk_at; /* time pkt first sent */
char *pk_cpos; /* write pointer for local protocol */
};
struct pkt *pk_new __ProtoGlarp__((int n));
void pk_free __ProtoGlarp__((struct pkt *p));
#endif
|