smlistsh attaches to a region of system memory (allocating it if necessary, and placing it under PSM
management as necessary) and offers the user an interactive "shell" for testing various shared-memory
linked list management functions.
smlistsh prints a prompt string (": ") to stdout, accepts a command from stdin, executes the command
(possibly printing a diagnostic message), then prints another prompt string and so on.
The following commands are supported:
h The help command. Causes smlistsh to print a summary of available commands. Same effect as the ?
command.
? Another help command. Causes smlistsh to print a summary of available commands. Same effect as the
h command.
k The key command. Computes and prints an unused shared-memory key, for possible use in attaching to a
shared-memory region.
+key_valuesize
The attach command. Attaches smlistsh to a region of shared memory. key_value identifies an
existing shared-memory region, in the event that you want to attach to an existing shared-memory
region (possibly created by another smlistsh process running on the same computer). To create and
attach to a new shared-memory region that other processes can attach to, use a key_value as returned
by the key command and supply the size of the new region. If you want to create and attach to a new
shared-memory region that is for strictly private use, use -1 as key and supply the size of the new
region.
- The detach command. Detaches smlistsh from the region of shared memory it is currently using, but
does not free any memory.
n The new command. Creates a new shared-memory list to operate on, within the currently attached
shared-memory region. Prints the address of the list.
slist_address
The share command. Selects an existing shared-memory list to operate on, within the currently
attached shared-memory region.
aelement_value
The append command. Appends a new list element, containing element_value, to the list on which
smlistsh is currently operating.
pelement_value
The prepend command. Prepends a new list element, containing element_value, to the list on which
smlistsh is currently operating.
w The walk command. Prints the addresses and contents of all elements of the list on which smlistsh is
currently operating.
felement_value
The find command. Finds the list element that contains element_value, within the list on which
smlistsh is currently operating, and prints the address of that list element.
delement_address
The delete command. Deletes the list element located at element_address.
r The report command. Prints a partition usage report, as per psm_report(3).
q The quit command. Detaches smlistsh from the region of shared memory it is currently using (without
freeing any memory) and terminates smlistsh.