#include "archinc.h"
#include "cli.h"
#include "strutil.h"
#include "eventq.h"
#include "zarlink.h"
#include "zl_event.h"
#include "zl_bus.h"
#include "zl_rmon.h"
#include "zlregs.h"

#ifdef CONFIG_INCLUDE_ZARLINK

#include <stdio.h>
#include <stdlib.h>

static void handleCtrl2RxEvent(void);

static int ctl2showHandler(int argc, char * argv[], int flags);

static unsigned short ctrl2Data16[20];

int zarlinkCtrlRetrieveCtrl2(unsigned short *pCtrl2Buffer)
{
  int i;
  for(i=0;i<40/2;i++) {
    ctrl2Data16[i] = zarlinkCtrlBuffer2Read();
    }
  zarlinkCommandWrite(0x04);

  return 0;
}

static void handleCtrl2RxEvent(void)
{
  zarlinkCtrlRetrieveCtrl2(ctrl2Data16);
  zarlinkEventUnmaskIrq(INT_CONTROL_FRAME2);
  zarlinkRmonUpdateStats((unsigned char *)ctrl2Data16);
}

int zarlinkCtrl2Init(void)
{
  // register event handler for CTRL2 events
  eventqRegisterHandler(SWITCH_CTRL2_RX, handleCtrl2RxEvent);
  
  return 0;
}

#endif

