aboutsummaryrefslogtreecommitdiff
path: root/src/espik_net.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/espik_net.c')
-rw-r--r--src/espik_net.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/espik_net.c b/src/espik_net.c
new file mode 100644
index 0000000..c008234
--- /dev/null
+++ b/src/espik_net.c
@@ -0,0 +1,64 @@
+#include <string.h>
+#include <stdio.h>
+
+#include <Ecore.h>
+#include <Ecore_Con.h>
+
+#include "espik_net.h"
+#include "espik_common_handler.h"
+#include "struct.h"
+#include "espik_error.h"
+
+typedef int (*Handler_Func) (void *data, int ev_type, void *ev);
+
+Ecore_Con_Server *con_sock;
+
+void espik_con_init (t_info serv_info)
+{
+ ecore_con_init ();
+
+ con_sock =
+ ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, serv_info.server->host,
+ (int)serv_info.server->port, NULL);
+ if (!con_sock)
+ {
+ fprintf (stderr, "ecore_con_server_connect failed\n");
+ exit (-1);
+ }
+
+ ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA, (Handler_Func) server_data, NULL);
+}
+
+void espik_con_shutdown ()
+{
+
+ printf ("> espik_con_shutdown\n");
+ ecore_con_server_del (con_sock);
+ ecore_con_shutdown ();
+
+ printf ("< espik_con_shutdown\n");
+// ecore_main_loop_quit ();
+}
+
+void espik_raw_send (char *msg)
+{
+ int len;
+ char *out;
+
+ len = strlen (msg) + 3;
+
+ out = malloc (sizeof (char) * len);
+ chk_malloc (out);
+
+ snprintf (out, len, "%s\r\n", msg);
+
+ printf ("espik_raw_send:\nmsg: %s\nout: %s\n", msg, out);
+/* printf ("out[len-3]: 0x%X\n", out[len - 3]);
+ printf ("out[len-2]: 0x%X\n", out[len - 2]);
+ printf ("out[len-1]: 0x%X\n", out[len - 1]);
+ */
+
+ printf ("ecore_con_server_send: %d\n", ecore_con_server_send (con_sock, out, strlen (out)));
+
+ free (out);
+}