enscmddriver_connect
/******************************************************************************* * Starts up connection to the EnSight client to drive it via commands. * Parameters: * host_toconnectto - Character buffer containing hostname * where EnSight is running. * sockport - Port number to use for socket( > 1024). * print_error - if (1) will print errors to stderr when * they occur. * Return Values: * On Success - Socket file descriptor to communicate with * EnSight, if success. * On Failure * ENS_SOCKRANGE - Port number out of range. Must be > 1024. * ENS_CONNECT - Connection to EnSight failed. EnSight must * be ready for the external command connection. * ENS_HANDSHAKE - The call to receive the handshake string * from the EnSight client failed. * ENS_HOSTTOOLONG - The hostname specified is too large. ******************************************************************************/ int enscmddriver_connect(char *host_toconnectto, int sockport, int print_error)
enscmddriver_sendmesg
/******************************************************************************* * This routine sends the EnSight client a command and waits for an ok (or ERROR). * Parameters: * comm_socket - Socket to communicate on. * cmd - command string being sent * print_error - if (1) will print errors to stderr when * they occur. * Return Values: * 1 - upon success * -1 - upon failure ******************************************************************************/ int enscmddriver_sendmesg(int comm_socket, char *cmd, int print_error)
Note: The cmd
argument can be
basically any of the commands in the EnSight Command language.
enscmddriver_query
/******************************************************************************* * This routine sends the EnSight client a query command and waits for the results. * Parameters: * comm_socket - Socket to communicate on. * query_keyword - Query keyword * param_array_cnt - Count of parameters in array below. * param_array - Floating point array containing any parameters * for the query operation. The count above helps * to clarify any changes that might be made to * a particular query in the future. This will * help to allow forward/backward compatibility * and prevent users from always having to use * the latest library. * * ***NOTE: the next 6 need to be passed in by address(ex. &ret_int_cnt) * because return values will be placed in the ...cnt variables * and space will be allocated for the others and return * information will be placed in this space. * ret_charstr_cnt - Count of strings concatenated into string return * ret_char_str - String(s) returned from query and separated * by NULLs. When the user finishes with the * information they must use free() to deallocate. * ret_int_cnt - Count of integers in return int array. * ret_int_array - Array of integer return values. When the user * finishes with the information they must use * free() to deallocate. * ret_float_cnt - Count of floats in return float array. * ret_float_array - Array of float return values. When the user * finishes with the information they must use * free() to deallocate. * * ret_error_buf - Buffer for error return string. This buffer * should be preallocated to 500 characters by * the caller. It will contain a NULL terminated * error string when the return value is -1. * * Return Values: * On Success - (1) * On Failure - (-1) (See error_buffer above) * ******************************************************************************/ int enscmddriver_query(int comm_socket, char *query_keyword, int param_array_cnt, float *param_array, int *ret_charstr_cnt, char **ret_char_str, int *ret_int_cnt, int **ret_int_array, int *ret_float_cnt, float **ret_float_array, char ret_error_buf[500])
enscmddriver_disconnect
/******************************************************************************* * This routine cleans up the connection to EnSight. This must * be done before you exit, especially if your application is dieing * because it received a signal. If the socket is not closed properly * your port may become hung and you won’t be able to use it until * it is cleared out by a reboot of your system or some other event. * * Parameters: * comm_socket - Socket to communicate on. * * Return Values: * None ******************************************************************************/ void enscmddriver_disconnect(int comm_socket)