From 94dbe5dd3d6e2fe24fb8b358857fa91117ff3375 Mon Sep 17 00:00:00 2001 From: matzman Date: Mon, 16 Jun 2014 11:25:56 +0200 Subject: [PATCH] Initial commit. --- .cproject | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++ .hgignore | 5 +++ .project | 27 ++++++++++++++++ Makefile | 29 +++++++++++++++++ Makefile.local | 29 +++++++++++++++++ src/config.mk | 2 ++ src/main.cpp | 63 +++++++++++++++++++++++++++++++++++++ 7 files changed, 240 insertions(+) create mode 100644 .cproject create mode 100644 .hgignore create mode 100644 .project create mode 100644 Makefile create mode 100644 Makefile.local create mode 100644 src/config.mk create mode 100644 src/main.cpp diff --git a/.cproject b/.cproject new file mode 100644 index 0000000..9e6582c --- /dev/null +++ b/.cproject @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + + all + true + true + true + + + make + + clean + true + true + true + + + + diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..aa51e72 --- /dev/null +++ b/.hgignore @@ -0,0 +1,5 @@ +syntax: regexp + +^bin/ +^build/ + diff --git a/.project b/.project new file mode 100644 index 0000000..ae49c62 --- /dev/null +++ b/.project @@ -0,0 +1,27 @@ + + + gcmgr + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9f970a4 --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ + +include Makefile.local + +SRC_FILES = + +include src/config.mk + +OBJS = $(SRC_FILES:src/%.cpp=build/%.o) + +all : bin/gcmgr + +bin : + mkdir -p bin + +build : + mkdir -p build + +bin/gcmgr : bin $(OBJS) + $(CXX) $(LD_FLAGS) $(OBJS) $(LD_LIBS) -o $@ + +$(OBJS) : build/%.o : src/%.cpp + mkdir -p $(dir $@) + $(CXX) $(CXX_FLAGS) $(CXX_INCL) -c $< -o $@ + +clean : + rm -rf build + +distclean : clean + rm -rf bin diff --git a/Makefile.local b/Makefile.local new file mode 100644 index 0000000..d06b48b --- /dev/null +++ b/Makefile.local @@ -0,0 +1,29 @@ + + + +CXX_FLAGS = -O0 -g3 -Wall -std=c++11 +CXX_INCL = + +LD_FLAGS = +LD_LIBS = + + +GCC_HOME = +GCC_PREFIX = + +GCC = ${GCC_PREFIX}-gcc +CXX = ${GCC_PREFIX}-g++ +CPP = ${GCC_PREFIX}-cpp +AR = ${GCC_PREFIX}-ar +OBJDUMP = ${GCC_PREFIX}-objdump +RANLIB = ${GCC_PREFIX}-ranlib +SIZE = ${GCC_PREFIX}-size + +#GCC = ${GCC_HOME}/bin/${GCC_PREFIX}-gcc +#CXX = ${GCC_HOME}/bin/${GCC_PREFIX}-g++ +#CPP = ${GCC_HOME}/bin/${GCC_PREFIX}-cpp +#AR = ${GCC_HOME}/bin/${GCC_PREFIX}-ar +#OBJDUMP = ${GCC_HOME}/bin/${GCC_PREFIX}-objdump +#RANLIB = ${GCC_HOME}/bin/${GCC_PREFIX}-ranlib +#SIZE = ${GCC_HOME}/bin/${GCC_PREFIX}-size + diff --git a/src/config.mk b/src/config.mk new file mode 100644 index 0000000..1c2982a --- /dev/null +++ b/src/config.mk @@ -0,0 +1,2 @@ + +SRC_FILES += src/main.cpp diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..f90f644 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,63 @@ +/* + * main.cpp + * + * Created on: 15.06.2014 + * Author: matzman + */ + + +#include +#include +#include +#include +#include +#include +#include +#include + +#define SOCK_PATH "/tmp/growcontrol.socket" + +int main(int argc, char **argv) +{ + int s, t, len; + struct sockaddr_un remote; + char str[100]; + + if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { + perror("socket"); + exit(1); + } + + printf("Trying to connect...\n"); + + remote.sun_family = AF_UNIX; + strcpy(remote.sun_path, SOCK_PATH); + len = strlen(remote.sun_path) + sizeof(remote.sun_family); + if (connect(s, (struct sockaddr *)&remote, len) == -1) { + perror("connect"); + exit(1); + } + + printf("Connected.\n"); + + while(printf("> "), fgets(str, 100, stdin), !feof(stdin)) { + if (send(s, str, strlen(str)+1, 0) == -1) { + perror("send"); + exit(1); + } + + if ((t=recv(s, str, 100, 0)) > 0) { + str[t] = '\0'; + printf("echo> %s", str); + } else { + if (t < 0) perror("recv"); + else printf("Server closed connection\n"); + exit(1); + } + } + + close(s); + + return 0; +} +