1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
4 * Copyright (c) 2002 Cray Inc.
5 * Copyright (c) 2003 Cluster File Systems, Inc.
7 * This file is part of Portals, http://www.sf.net/projects/sandiaportals/
10 #ifndef _PROCBRIDGE_H_
11 #define _PROCBRIDGE_H_
18 #define NAL_FLAG_RUNNING 1
19 #define NAL_FLAG_STOPPING 2
20 #define NAL_FLAG_STOPPED 4
22 typedef struct procbridge {
23 /* sync between user threads and nal thread */
26 pthread_mutex_t mutex;
28 /* socket pair used to notify nal thread */
33 pthread_mutex_t nal_cb_lock;
36 typedef struct nal_init_args {
37 ptl_pid_t nia_requested_pid;
38 ptl_ni_limits_t *nia_requested_limits;
39 ptl_ni_limits_t *nia_actual_limits;
44 extern void *nal_thread(void *);
47 #define PTL_INIT (LIB_MAX_DISPATCH+1)
48 #define PTL_FINI (LIB_MAX_DISPATCH+2)
53 extern void set_address(bridge t,ptl_pid_t pidrequest);
54 extern void procbridge_wakeup_nal(procbridge p);