/usr/include/lam/dl_inet.h is in lam4-dev 7.1.4-3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197  | /*
 * Copyright (c) 2001-2003 The Trustees of Indiana University.  
 *                         All rights reserved.
 * Copyright (c) 1998-2001 University of Notre Dame. 
 *                         All rights reserved.
 * Copyright (c) 1994-1998 The Ohio State University.  
 *                         All rights reserved.
 * 
 * This file is part of the LAM/MPI software package.  For license
 * information, see the LICENSE file in the top level directory of the
 * LAM/MPI source distribution.
 * 
 * $HEADER$
 *
 * $Id: dl_inet.h,v 6.9 2003/03/25 00:34:01 jsquyres Exp $
 * 
 *	Function:	- dli/dlo_inet constants and templates
 */
#ifndef LAM_DL_INET
#define LAM_DL_INET
#include <sys/types.h>
#include <netinet/in.h>
#include <lam_config.h>
#include <portable.h>
#include <net.h>
/*
 * dli/dlo common constants
 */
#define TO_DLO_ESTIMATE	200		/* timeout estimate count trigger */
#define DLDEFPORT	5555		/* default dl_inet port */
#define DLMAXSEQ	0x40000000	/* max sequence # */
#define DLMINFRAMELEN	(sizeof(struct dlframe) - MAXNMSGLEN)
					/* header-only frame size */
/*
 * dlo constants
 */
#define DOSLOTCNT	8		/* max # window slots */
#define DOMAXPENDING	3		/* max # pending messages */
#define DOMAXSTALE	((int) (LAM_TO_DLO_IDLE / (LAM_TO_DLO_ACK / 1000000.0)))
					/* causes an alive message */
#ifndef DOMAXRESEND
#define DOMAXRESEND	300		/* max # resends per message */
#endif
/*
 * dlo slot flags
 */
#define DORESEND	1		/* resend-on-timeout flag */
#define DOPENDING	2		/* message pending */
#define DORESERVED	4		/* reserved for receive */
/*
 * sequence macros
 */
#define	seqinc(a) ((a + 1) % DLMAXSEQ)
#define	seqmin(a, b) (((b - a) > 0) ? (((b - a) > (DLMAXSEQ / 2)) ? b : a) : \
		(((a - b) > (DLMAXSEQ / 2)) ? a : b))
/*
 * dlo requests
 */
#define DOQSETLINK	0
#define DOQREMLINK	1
#define DOQGETLINKS	2
#define DOQVOPEN	3		/* open dlo valve */
#define DOQVCLOSE	4		/* close dlo valve */
/*
 * dli requests
 */
#define DIQSETLINK	0
#define DIQSANITY	1
#define DIQREMLINK	2
/*
 * dlo request template
 */
struct doreq {
	int4		doq_req;	/* request code */
	int4		doq_src_node;	/* client node */
	int4		doq_src_event;	/* client event */
	int4		doq_link;	/* output link */
	int4		doq_extra;	/* extra information */
};
/*
 * dlo reply
 */
struct doreply {
	int4		dor_reply;	/* reply code */
	int4		dor_nlinks;	/* # datalinks */
};
/*
 * dli request
 */
struct direq {
	int4		diq_req;	/* request code */
	int4		diq_src_node;	/* client node */
	int4		diq_src_event;	/* client event */
	int4		diq_link;
	int4		diq_type;
	int4		diq_ncpus;
};
/*
 * dli reply
 */
struct direply {
	int4		dir_reply;	/* reply code */
};
/*
 * output datalink
 */
struct dolink {
	int4		dol_link;	/* link number */
	int4		dol_seqgive;	/* next assignable sequence # */
	int4		dol_seqsend;	/* next sendable sequence # */
	int4		dol_npending;	/* # pending seq. # */
	int4		dol_idle;	/* idle timeout periods */
	struct sockaddr_in
			dol_addr;	/* dli socket address */
};
/*
 * extra information from startup protocols
 */
struct diinfo {
  int4 dii_num_cpus;
  int4 dii_node_type;
};
/*
 * input datalink
 */
struct dilink {
	int4		dil_link;	/* link number */
	int4		dil_seqrecv;	/* next recvable sequence # */
	struct sockaddr_in
			dil_addr;	/* dli socket address */
};
/*
 * network portion of struct nmsg
 */
struct dlheader {
	int4		dlh_node;
	int4		dlh_event;
	int4		dlh_type;
	int4		dlh_length;
	int4		dlh_flags;
	int4		dlh_data[NHDSIZE];
};
/*
 * datalink frame
 */
struct dlframe {
	int4		dlf_src_node;	/* message source node */
	int4		dlf_seqnum;	/* message sequence # */
	struct dlheader	dlf_msghead;	/* message header */
	char		dlf_msg[MAXNMSGLEN];
					/* message body */
};
struct doslot {
	int4		dos_link;	/* outgoing link */
	int4		dos_flags;	/* slot status flags */
	int4		dos_resend;	/* # resends */
	struct dlframe	dos_frame;	/* datalink frame */
};
struct dlack {
	int4		dla_seqnum;	/* ack sequence # */
	int4		dla_destid;	/* destination node */
};
#ifdef __cplusplus
extern "C" {
#endif
extern int		ldogetlinks __ARGS((struct dolink **pdol,int4 *pndol));
extern int		ldosetlink __ARGS((struct dolink *pdol));
extern int		ldoremlink __ARGS((int4 link));
#ifdef __cplusplus
}
#endif
#endif /* LAM_DL_INET */
 |