Skip to content

NAME

smlistsh - shared-memory linked list test shell

SYNOPSIS

smlistsh partition_size

DESCRIPTION

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_value size

    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.

  • s list_address

    The share command. Selects an existing shared-memory list to operate on, within the currently attached shared-memory region.

  • a element_value

    The append command. Appends a new list element, containing element_value, to the list on which smlistsh is currently operating.

  • p element_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.

  • f element_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.

  • d element_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.

EXIT STATUS

  • "0"

    smlistsh has terminated.

FILES

No configuration files are needed.

ENVIRONMENT

No environment variables apply.

DIAGNOSTICS

No diagnostics apply.

BUGS

Report bugs to <https://github.com/nasa-jpl/ION-DTN/issues>

SEE ALSO

smlist(3)