aslistashs, aslistashs_array, aslistashs_local, aslis
tashs_server - enumerate ASHs
SYNOPSIS
#include <sys/types.h>
#include <arraysvcs.h>
asashlist_t *aslistashs(asserver_t Server, const char *ArrayName,
int Destination, uint32_t Flags);
asashlist_t *aslistashs_array(asserver_t Server, const char *ArrayName);
asashlist_t *aslistashs_local(void);
asashlist_t *aslistashs_server(asserver_t Server);
DESCRIPTION
The aslistashs function returns a list of array session
handles that are currently active on the local machine,
some other machine, or some array. The target of aslis
tashs is determined by the Destination argument, which may
have one of the following values:
AASSDDSSTT_AARRRRAAYY
Retrieve the active array session handles on all
machines in the array specified by ArrayName, or the
default array if ArrayName is NULL.
AASSDDSSTT_LLOOCCAALL
Retrieve the active array session handles on the
local machine only.
AASSDDSSTT_SSEERRVVEERR
Retrieve the active array session handles on the
machine specified by Server only.
The Server argument specifies an optional array server
token, which can be used to direct the request to a spe
cific array services daemon. If NULL is specified
instead, the request will be processed by the default
array services daemon if necessary (see array(1) for more
information on how the default array services daemon is
selected). For more details on creating an array server
token, see asopenserver(3X).
If Destination is not ASDST_ARRAY, the ArrayName argument
should be set to NULL.
The flags arguments is used to control some of the details
about the array session handles that are returned. If
consists of zero or more of the following values OR'ed
together:
Do not include local array session handles.
AASSLLAAFF_NNOODDUUPPSS
Ordinarily, an array session handle may appear more
than once in the returned list. This flag will cause
duplicate array session handles to be removed from
the list, with some additional cost in execution
time.
The list of array session handles is returned in an asash
list_t structure, which is defined in <arraysvcs.h>. The
storage for this structure is allocated using malloc(3).
It should be released using the asfreeashlist(3X) function
when it is no longer needed.
The functions aslistashs_array, aslistashs_local and
aslistashs_server are "convenience functions" that are
equivalent to variations of aslistash. aslis
tashs_array(Server, ArrayName) is equivalent to:
aslistashs(Server, ArrayName, ASDST_ARRAY,
(ASLAF_NOLOCAL | ASLAF_NODUPS))
aslistashs_local() is equivalent to:
aslistashs(NULL, NULL, ASDST_LOCAL, ASLAF_NODUPS)
aslistashs_server(Server) is equivalent to:
aslistashs(Server, NULL, ASDST_SERVER,
(ASLAF_NOLOCAL | ASLAF_NODUPS))
Notice that because array sessions can come and go over
time, this information cannot be 100% accurate; it may
omit some new array sessions and/or include array sessions
that have already terminated.
NOTES
All of these functions are found in the library "libar
ray.so", and will be loaded if the option "-larray" is
used with cc(1) or ld(1).
SEE ALSO
asashisglobal(3X), aserrorcode(3X), asfreeashlist(3X),
asopenserver(3X), array_sessions(5).
DIAGNOSTICS
All functions return a pointer to an asashlist_t structure
if successful or NULL if not. If unsuccessful, aserror
code(3X) will be set appropriately.
Man(1) output converted with
man2html