/*******************************************************************************
 * (c) Copyright 2015 Microsemi Corporation.  All rights reserved.
 *
 *
 *
 * SVN $Revision: $
 * SVN $Date: $
 */


#ifndef SVC_IFACE_TYPES_H_
#define SVC_IFACE_TYPES_H_

#include <api_oam_sdk/service_interface/inc/svc_iface.h>
#include "egl_types.h"
#include "egl_log.h"

#define MAX_NUM_IFACES		(2)

struct iFaceEntry_s
{
	svcIfaceCfg_t			cfg;
	svcIfaceEglCfg_t		eglCfg;
};

typedef struct iFaceEntry_s iFaceEntry_t;

static const char	*frameFormatToStr[5] = {"invalid","No Tag", "C-Tag","S-Tag","S+C-Tag"};
static const char	*admittanceToStr[4] = {"invalid","admitAll","admitVlanOnly","admitPrioUntaggedOnly"};

// Function Prototypes
void iFaceInit(void);

void setIFaceLogLevel(log_level_t logLevel);
bool isIFaceValid(iFace_t iFace);
frameFormat_t getPortFrameFormat(iFace_t iFace);

#endif /* SVC_IFACE_TYPES_H_ */
