MaxScale/maxscale-system-test/maxadmin_operations.h
Markus Mäkelä d7d4ec29bb Add tests from develop
Added tests from develop. The test results need to be modified for 2.0.
2017-05-26 15:40:40 +03:00

107 lines
3.0 KiB
C

#ifndef MAXADMIN_OPERATIONS_H
#define MAXADMIN_OPERATIONS_H
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <ctype.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
#include <dirent.h>
#include <locale.h>
#include <errno.h>
#include <getopt.h>
//#include <version.h>
/**
* @brief Connect to the MaxScale server
*
* @param hostname The hostname to connect to
* @param port The port to use for the connection
* @return The connected socket or -1 on error
*/
int connectMaxScale(char *hostname, char *port);
/**
* @brief Set IP address in socket structure in_addr
*
* @param a Pointer to a struct in_addr into which the address is written
* @param p The hostname to lookup
* @return 1 on success, 0 on failure
*/
int setipaddress(struct in_addr *a, char *p);
/**
* @brief Perform authentication using the maxscaled protocol conventions
*
* @param so The socket connected to MaxScale
* @param user The username to authenticate
* @param password The password to authenticate with
* @return Non-zero of succesful authentication
*/
int authMaxScale(int so, char *user, char *password);
/**
* @brief Send a comamnd using the MaxScaled protocol, display the return data on standard output.
*
* Input terminates with a lien containing just the text OK
*
* @param so The socket connect to MaxScale
* @param cmd The command to send
* @return 0 if the connection was closed
*/
int sendCommand(int so, char *cmd, char *buf);
/**
* @brief Send a comamnd using the MaxScaled protocol, search for certain numeric parameter in MaxScaled output.
*
* Input terminates with a lien containing just the text OK
*
* @param user The username to authenticate
* @param password The password to authenticate with
* @param cmd The command to send
* @param param Parameter to find
* @param result Value of found parameter
* @return 0 if parameter is found
*/
int get_maxadmin_param_tcp(char *hostname, char *user, char *password, char *command, char *param,
char *result);
/**
* @brief Send a comamnd using the MaxScaled protocol
*
* Input terminates with a line containing just the text OK
*
* @param user The username to authenticate
* @param password The password to authenticate with
* @param cmd The command to send
* @return 0 if parameter is found
*/
int execute_maxadmin_command_tcp(char * hostname, char *user, char *password, char * cmd);
/**
* @brief Send a comamnd using the MaxScaled protocol, print results of stdout
*
* Input terminates with a line containing just the text OK
*
* @param user The username to authenticate
* @param password The password to authenticate with
* @param cmd The command to send
* @return 0 if parameter is found
*/
int execute_maxadmin_command_print_pcp(char * hostname, char *user, char *password, char * cmd);
#endif // MAXADMIN_OPERATIONS_H