-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6 from jjhursey/reorg-n-doc
Reorganize the headers to isolate the nonstandard routines
- Loading branch information
Showing
9 changed files
with
3,774 additions
and
2,748 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,27 @@ | ||
# pmix-abi | ||
PMIx Headers for ABI Compatibility | ||
# PMIx Standard ABI Headers | ||
|
||
## Layout of the headers | ||
|
||
* `pmix_types.h` : PMIx Standard types, constants, and callback functions | ||
* `pmix_macros.h` : PMIx Standard macros | ||
* `pmix_abi_support.h` : Non-standard support functions (prefixed with `pmixabi_`) to support the macro definitions | ||
* `pmix_abi_support_bottom.h` : Non-standard support functions (prefixed with `pmixabi_`) to support the macro definitions. These few functions also use the macros. As such, they need to be included at the bottom of `pmix_macros.h` | ||
* `pmix_fns.h` : PMIx Standard API function pointer declarations for PMIx Standard APIs | ||
* The goal of this header to ease the incorporation of PMIx routines for applications and tools that wish to `dlopen()` a PMIx Standard compliant library and then `dlsym()` the various functions. | ||
|
||
|
||
```mermaid | ||
flowchart TB | ||
subgraph macros["pmix_macros.h"] | ||
direction TB | ||
s1["pmix_abi_support.h (Non-Standard)"] --- mid["PMIx Standard Macros"] | ||
mid --- s2["pmix_abi_support_bottom.h (Non-Standard)"] | ||
end | ||
pmix_types.h == Included by ==> macros | ||
macros == Included by ==> pmix_fns.h | ||
macros == Included by ==> pmix.h | ||
``` | ||
|
||
## Using dlopen/dlsym | ||
|
||
If your application intends to use the headers with `dlopen()` and `dlsym()` then the `pmix_fns.h` header is all that you need to include to use the PMIx Standard interface. The function pointer signatures are defined in `pmix_fns.h` in a form approprate for `dlsym()` |
Oops, something went wrong.