Functions
gebr_comm_protocol_reset ()
void
gebr_comm_protocol_reset (struct gebr_comm_protocol *protocol
);
gebr_comm_message_free ()
void
gebr_comm_message_free (struct gebr_comm_message *message
);
gebr_comm_protocol_get_version ()
const gchar *
gebr_comm_protocol_get_version (void
);
gebr_comm_protocol_path_enum_to_str ()
const gchar *
gebr_comm_protocol_path_enum_to_str (gint option
);
gebr_comm_protocol_path_str_to_enum ()
gint
gebr_comm_protocol_path_str_to_enum (const gchar *option
);
Types and Values
struct gebr_comm_message_def
struct gebr_comm_message_def {
guint code_hash;
const gchar * code;
gboolean returns; // does this message send return (RET) command?
gint arg_number;
};
enum GebrCommProtocolStatusPath
struct gebr_comm_protocol_defs
struct gebr_comm_protocol_defs {
GHashTable *hash_table;
GHashTable *code_hash_table;
/* messages identifiers hashes */
struct gebr_comm_message_def ret_def;
struct gebr_comm_message_def ini_def;
struct gebr_comm_message_def err_def;
struct gebr_comm_message_def qut_def;
struct gebr_comm_message_def lst_def;
struct gebr_comm_message_def rnq_def;
struct gebr_comm_message_def flw_def;
struct gebr_comm_message_def clr_def;
struct gebr_comm_message_def end_def;
struct gebr_comm_message_def kil_def;
struct gebr_comm_message_def out_def;
struct gebr_comm_message_def sta_def;
struct gebr_comm_message_def gid_def; // Gebr id Maestro -> Daemon
struct gebr_comm_message_def cfrm_def;
struct gebr_comm_message_def path_def;
struct gebr_comm_message_def home_def;
struct gebr_comm_message_def mpi_def;
struct gebr_comm_message_def nfsid_def;
struct gebr_comm_message_def prt_def; // Maestro port Maestro -> GeBR
struct gebr_comm_message_def ac_def; // Autoconnect option of the daemons
struct gebr_comm_message_def agrp_def; // Add group on GeBR
struct gebr_comm_message_def dgrp_def; // Delete group on GeBR
struct gebr_comm_message_def run_def; // Run request Maestro -> Daemon
struct gebr_comm_message_def tsk_def; // Task definition Daemon -> Maestro
struct gebr_comm_message_def jcl_def; // Job Close Maestro -> GeBR
struct gebr_comm_message_def job_def; // Job definition Maestro -> GeBR
struct gebr_comm_message_def ssta_def; // Server status change Maestro -> GeBR
struct gebr_comm_message_def srm_def; // Server remove Maestro -> GeBR
struct gebr_comm_message_def cmd_def; // Command line Maestro -> GeBR
struct gebr_comm_message_def iss_def; // Issues Maestro -> GeBR
struct gebr_comm_message_def qst_def; // Question request Maestro -> GeBR
struct gebr_comm_message_def pss_def; // Password request Maestro -> GeBR
struct gebr_comm_message_def harakiri_def;// Asks daemon to die Maestro -> Daemon
struct gebr_comm_message_def dsp_def; // Display info Gebr -> Maestro & Maestro -> Daemon
struct gebr_comm_message_def sftp_def;
};
struct gebr_comm_message
struct gebr_comm_message {
guint hash;
guint ret_hash;
gsize argument_size;
GString *argument;
};
struct gebr_comm_protocol
struct gebr_comm_protocol {
/* the data being received is forming message(s) */
GString *data;
struct gebr_comm_message *message;
/* received messages to be parsed */
GList *messages;
/* logged in with INI and RET? */
gboolean logged;
/* if we are logged, we received a host name from the peer */
GString *hostname;
};