metal/mtce/src/hostw/hostwMsg.cpp
Jim Gauld 6a5e10492c Decouple Guest-server/agent from stx-metal
This decouples the build and packaging of guest-server, guest-agent from
mtce, by splitting guest component into stx-nfv repo.

This leaves existing C++ code, scripts, and resource files untouched,
so there is no functional change. Code refactoring is beyond the scope
of this update.

Makefiles were modified to include devel headers directories
/usr/include/mtce-common and /usr/include/mtce-daemon.
This ensures there is no contamination with other system headers.

The cgts-mtce-common package is renamed and split into:
- repo stx-metal: mtce-common, mtce-common-dev
- repo stx-metal: mtce
- repo stx-nfv: mtce-guest
- repo stx-ha: updates package dependencies to mtce-pmon for
  service-mgmt, sm, and sm-api

mtce-common:
- contains common and daemon shared source utility code

mtce-common-dev:
- based on mtce-common, contains devel package required to build
  mtce-guest and mtce
- contains common library archives and headers

mtce:
- contains components: alarm, fsmon, fsync, heartbeat, hostw, hwmon,
  maintenance, mtclog, pmon, public, rmon

mtce-guest:
- contains guest component guest-server, guest-agent

Story: 2002829
Task: 22748

Change-Id: I9c7a9b846fd69fd566b31aa3f12a043c08f19f1f
Signed-off-by: Jim Gauld <james.gauld@windriver.com>
2018-09-18 17:15:08 -04:00

57 lines
1.3 KiB
C++

/*
* Copyright (c) 2015 Wind River Systems, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*
*/
/**
* @file
* Wind River CGCS Platform Host Watchdog Service Messaging
*/
#include "hostw.h"
#include "nodeMacro.h"
/**
* Messaging Socket Control Struct - The allocated struct
*/
static hostw_socket_type hostw_sock;
hostw_socket_type * hostw_getSock_ptr ( void )
{
return ( &hostw_sock );
}
/**
* Create the socket interface to the host watchdog daemon
* We use Unix sockets rather than UDP, which are identified by a pathname
* (essentially, a FIFO pipe) rather than a portn number
*/
int hostw_socket_init ( )
{
hostw_socket_type * hostw_socket = hostw_getSock_ptr();
hostw_socket->status_sock = socket (AF_UNIX, SOCK_DGRAM, 0);
if (hostw_socket->status_sock <= 0) return FAIL;
memset(&hostw_socket->status_addr, 0, sizeof(hostw_socket->status_addr));
hostw_socket->status_addr.sun_family = AF_UNIX;
snprintf( &(hostw_socket->status_addr.sun_path[1]), UNIX_PATH_MAX-1,
"%s",
HOSTW_UNIX_SOCKNAME);
if (bind(hostw_socket->status_sock, (struct sockaddr *)&hostw_socket->status_addr, sizeof(hostw_socket->status_addr)) == -1)
{
elog ("failed to bind\n");
close (hostw_socket->status_sock);
return FAIL;
}
ilog ("hostwd listening for status updates\n");
return PASS;
}