Commit 7a548e34 authored by Greg Williams's avatar Greg Williams
Browse files

Added initial structure and start of socket connectivity

parent ed42f7e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -24,3 +24,4 @@

bin/
build/
.tags*
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
    - TEST

:cmock:
  :mock_prefix: mock_
  :when_no_prototypes: :warn
  :enforce_strict_ordering: TRUE
  :plugins:

src/lib/KineticApi.c

0 → 100644
+12 −0
Original line number Diff line number Diff line
#include "KineticApi.h"
#include "KineticConnection.h"

const KineticConnection KineticApi_Connect(void)
{
	return KineticConnection_Create();
}

KineticProto_Status_StatusCode KineticApi_SendNoop(const KineticConnection* connection)
{
	return KINETIC_PROTO_STATUS_STATUS_CODE_INVALID_STATUS_CODE;
}

src/lib/KineticApi.h

0 → 100644
+10 −0
Original line number Diff line number Diff line
#ifndef _KINETIC_API_H
#define _KINETIC_API_H

#include "KineticTypes.h"
#include "KineticConnection.h"

const KineticConnection KineticApi_Connect(void);
KineticProto_Status_StatusCode KineticApi_SendNoop(const KineticConnection* connection);

#endif // _KINETIC_API_H
+23 −0
Original line number Diff line number Diff line
#include "KineticConnection.h"
#include "KineticNetwork.h"
#include <netinet/in.h>
#include <string.h>

KineticConnection KineticConnection_Create(void)
{
	KineticConnection connection;
	memset(&connection, 0, sizeof(connection));
	return connection;
}

KineticProto_Status_StatusCode KineticConnection_Connect(KineticConnection* connection)
{
	struct ifaddrs addr = KineticNetwork_GetDestinationIP();
	connection->Connected = true;
	strcpy(connection->Name, addr.ifa_name);
	connection->Flags = addr.ifa_flags;
	memcpy(&connection->Addr, addr.ifa_addr, sizeof(struct sockaddr));
	memcpy(&connection->NetMask, addr.ifa_netmask, sizeof(struct sockaddr));
	memcpy(&connection->DestAddr, addr.ifa_dstaddr, sizeof(struct sockaddr));
	return KINETIC_PROTO_STATUS_STATUS_CODE_SUCCESS;
}
Loading