107 lines
3.0 KiB
C
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
|