@@ -147,7 +147,6 @@ typedef uint32_t pmix_rank_t;
147147#define PMIX_CONNECT_RETRY_DELAY "pmix.tool.retry" // (uint32_t) time in seconds between connection attempts
148148#define PMIX_TOOL_DO_NOT_CONNECT "pmix.tool.nocon" // (bool) the tool wants to use internal PMIx support, but does
149149 // not want to connect to a PMIx server
150- // from the specified processes to this tool
151150
152151/* identification attributes */
153152#define PMIX_USERID "pmix.euid" // (uint32_t) effective user id
@@ -221,9 +220,7 @@ typedef uint32_t pmix_rank_t;
221220#define PMIX_LOCAL_CPUSETS "pmix.lcpus" // (char*) colon-delimited cpusets of local peers within the specified nspace
222221#define PMIX_PROC_URI "pmix.puri" // (char*) URI containing contact info for proc
223222#define PMIX_LOCALITY "pmix.loc" // (uint16_t) relative locality of two procs
224- #define PMIX_PARENT_ID "pmix.parent" // (pmix_proc_t*) identifier of the process that called PMIx_Spawn
225- // to launch this proc's application
226-
223+ #define PMIX_PARENT_ID "pmix.parent" // (pmix_proc_t) process identifier of my parent process
227224
228225/* size info */
229226#define PMIX_UNIV_SIZE "pmix.univ.size" // (uint32_t) #procs in this nspace
@@ -327,7 +324,7 @@ typedef uint32_t pmix_rank_t;
327324#define PMIX_EVENT_WANT_TERMINATION "pmix.evterm" // (bool) indicates that the handler has determined that the application should be terminated
328325
329326
330- /* attributes used to describe "spawn" directives */
327+ /* attributes used to describe "spawn" attributes */
331328#define PMIX_PERSONALITY "pmix.pers" // (char*) name of personality to use
332329#define PMIX_HOST "pmix.host" // (char*) comma-delimited list of hosts to use for spawned procs
333330#define PMIX_HOSTFILE "pmix.hostfile" // (char*) hostfile to use for spawned procs
@@ -345,6 +342,9 @@ typedef uint32_t pmix_rank_t;
345342#define PMIX_PRELOAD_FILES "pmix.preloadfiles" // (char*) comma-delimited list of files to pre-position
346343#define PMIX_NON_PMI "pmix.nonpmi" // (bool) spawned procs will not call PMIx_Init
347344#define PMIX_STDIN_TGT "pmix.stdin" // (uint32_t) spawned proc rank that is to receive stdin
345+ #define PMIX_FWD_STDIN "pmix.fwd.stdin" // (bool) forward my stdin to the designated proc
346+ #define PMIX_FWD_STDOUT "pmix.fwd.stdout" // (bool) forward stdout from spawned procs to me
347+ #define PMIX_FWD_STDERR "pmix.fwd.stderr" // (bool) forward stderr from spawned procs to me
348348#define PMIX_DEBUGGER_DAEMONS "pmix.debugger" // (bool) spawned app consists of debugger daemons
349349#define PMIX_COSPAWN_APP "pmix.cospawn" // (bool) designated app is to be spawned as a disconnected
350350 // job - i.e., not part of the "comm_world" of the job
@@ -364,11 +364,6 @@ typedef uint32_t pmix_rank_t;
364364#define PMIX_JOB_CONTINUOUS "pmix.continuous" // (bool) application is continuous, all failed procs should
365365 // be immediately restarted
366366#define PMIX_MAX_RESTARTS "pmix.maxrestarts" // (uint32_t) max number of times to restart a job
367- #define PMIX_FWD_STDIN "pmix.fwd.stdin" // (bool) forward the stdin from this process to the spawned processes
368- #define PMIX_FWD_STDOUT "pmix.fwd.stdout" // (bool) forward stdout from the spawned processes to this process (typically used by a tool)
369- #define PMIX_FWD_STDERR "pmix.fwd.stderr" // (bool) forward stderr from the spawned processes to this process (typically used by a tool)
370- #define PMIX_FWD_STDDIAG "pmix.fwd.stddiag" // (bool) if a diagnostic channel exists, forward any output on it
371- // from the spawned processes to this process (typically used by a tool)
372367
373368
374369/* connect attributes */
@@ -421,11 +416,6 @@ typedef uint32_t pmix_rank_t;
421416#define PMIX_DEBUG_WAIT_FOR_NOTIFY "pmix.dbg.notify" // (bool) block at desired point until receiving debugger release notification
422417#define PMIX_DEBUG_JOB "pmix.dbg.job" // (char*) nspace of the job to be debugged - the RM/PMIx server are
423418#define PMIX_DEBUG_WAITING_FOR_NOTIFY "pmix.dbg.waiting" // (bool) job to be debugged is waiting for a release
424- #define PMIX_PREPEND_LD_PRELOAD "pmix.prepend.preload" // (char*) prepend the named library to any existing
425- // LD_PRELOAD directive
426- #define PMIX_APPEND_LD_PRELOAD "pmix.append.preload" // (char*) append the named library to any existing
427- // LD_PRELOAD directive
428-
429419
430420/* Resource Manager identification */
431421#define PMIX_RM_NAME "pmix.rm.name" // (char*) string name of the resource manager
@@ -730,8 +720,6 @@ typedef uint16_t pmix_data_type_t;
730720#define PMIX_ALLOC_DIRECTIVE 43
731721/**** DEPRECATED ****/
732722#define PMIX_INFO_ARRAY 44
733- /**** ****/
734- #define PMIX_IOF_CHANNEL 45
735723/********************/
736724
737725/* define a boundary for implementers so they can add their own data types */
@@ -798,18 +786,6 @@ typedef uint8_t pmix_alloc_directive_t;
798786#define PMIX_ALLOC_EXTERNAL 128
799787
800788
801- /* define a set of bit-mask flags for specifying IO
802- * forwarding channels. These can be OR'd together
803- * to reference multiple channels */
804- typedef uint16_t pmix_iof_channel_t ;
805- #define PMIX_FWD_NO_CHANNELS 0x00
806- #define PMIX_FWD_STDIN_CHANNEL 0x01
807- #define PMIX_FWD_STDOUT_CHANNEL 0x02
808- #define PMIX_FWD_STDERR_CHANNEL 0x04
809- #define PMIX_FWD_STDDIAG_CHANNEL 0x08
810- #define PMIX_FWD_ALL_CHANNELS 0xff
811-
812-
813789/**** PMIX BYTE OBJECT ****/
814790typedef struct pmix_byte_object {
815791 char * bytes ;
@@ -839,6 +815,14 @@ typedef struct pmix_byte_object {
839815 free((m)); \
840816 } while(0)
841817
818+ #define PMIX_BYTE_OBJECT_LOAD (b , d , s ) \
819+ do { \
820+ (b)->bytes = (d); \
821+ (d) = NULL; \
822+ (b)->size = (s); \
823+ (s) = 0; \
824+ } while(0)
825+
842826
843827/**** PMIX DATA BUFFER ****/
844828typedef struct pmix_data_buffer {
@@ -1645,19 +1629,14 @@ typedef void (*pmix_notification_fn_t)(size_t evhdlr_registration_id,
16451629 pmix_event_notification_cbfunc_fn_t cbfunc ,
16461630 void * cbdata );
16471631
1648- /* define a callback function for calls to register handlers, e.g., event
1649- * notification and IOF requests
1650- *
1651- * status - PMIX_SUCCESS or an appropriate error constant
1652- *
1653- * refid - reference identifier assigned to the handler by PMIx,
1654- * used to deregister the handler
1655- *
1656- * cbdata - object provided to the registration call
1657- */
1658- typedef void (* pmix_hdlr_reg_cbfunc_t )(pmix_status_t status ,
1659- size_t refid ,
1660- void * cbdata );
1632+ /* define a callback function for calls to PMIx_Register_evhdlr. The
1633+ * status indicates if the request was successful or not, evhdlr_ref is
1634+ * an integer reference assigned to the event handler by PMIx, this reference
1635+ * must be used to deregister the err handler. A ptr to the original
1636+ * cbdata is returned. */
1637+ typedef void (* pmix_evhdlr_reg_cbfunc_t )(pmix_status_t status ,
1638+ size_t evhdlr_ref ,
1639+ void * cbdata );
16611640
16621641/* define a callback function for calls to PMIx_Get_nb. The status
16631642 * indicates if the requested data was found or not - a pointer to the
@@ -1782,7 +1761,7 @@ typedef void (*pmix_validation_cbfunc_t)(pmix_status_t status,
17821761PMIX_EXPORT void PMIx_Register_event_handler (pmix_status_t codes [], size_t ncodes ,
17831762 pmix_info_t info [], size_t ninfo ,
17841763 pmix_notification_fn_t evhdlr ,
1785- pmix_hdlr_reg_cbfunc_t cbfunc ,
1764+ pmix_evhdlr_reg_cbfunc_t cbfunc ,
17861765 void * cbdata );
17871766
17881767/* Deregister an event handler
@@ -1840,7 +1819,6 @@ PMIX_EXPORT pmix_status_t PMIx_Notify_event(pmix_status_t status,
18401819 * - pmix_info_directives_t (PMIX_INFO_DIRECTIVES)
18411820 * - pmix_data_type_t (PMIX_DATA_TYPE)
18421821 * - pmix_alloc_directive_t (PMIX_ALLOC_DIRECTIVE)
1843- * - pmix_iof_channel_t (PMIX_IOF_CHANNEL)
18441822 */
18451823PMIX_EXPORT const char * PMIx_Error_string (pmix_status_t status );
18461824PMIX_EXPORT const char * PMIx_Proc_state_string (pmix_proc_state_t state );
@@ -1850,7 +1828,6 @@ PMIX_EXPORT const char* PMIx_Data_range_string(pmix_data_range_t range);
18501828PMIX_EXPORT const char * PMIx_Info_directives_string (pmix_info_directives_t directives );
18511829PMIX_EXPORT const char * PMIx_Data_type_string (pmix_data_type_t type );
18521830PMIX_EXPORT const char * PMIx_Alloc_directive_string (pmix_alloc_directive_t directive );
1853- PMIX_EXPORT const char * PMIx_IOF_channel_string (pmix_iof_channel_t channel );
18541831
18551832/* Get the PMIx version string. Note that the provided string is
18561833 * statically defined and must NOT be free'd */
0 commit comments