#include <stdio.h>

#include "zmodem.h"
#include "zmcore.h"
#include "zmext.h"
#include "pdcommw.h"

void zmodemDefaults(ZMODEM *zmodem)
{
    pdcommDefaults(&zmodem->pdcomm);
    zmcoreDefaults(&zmodem->zmcore);
    zmextDefaults(&zmodem->zmext);
    return;
}

void zmodemInit(ZMODEM *zmodem)
{
    pdcommInit(&zmodem->pdcomm, "COM1:115200" );
    zmextInit(&zmodem->zmext, &zmodem->pdcomm);
    zmcoreInit(&zmodem->zmcore, &zmodem->zmext);
    return;
}

void zmodemTerm(ZMODEM *zmodem)
{
    zmcoreTerm(&zmodem->zmcore);
    pdcommTerm(&zmodem->pdcomm);
    return;
}

void zmodemSend(ZMODEM *zmodem, char *filespec)
{
    zmextFileSetSpec(&zmodem->zmext, filespec);
    zmcoreSend(&zmodem->zmcore);
    return;
}

void zmodemReceive(ZMODEM *zmodem)
{
    zmcoreReceive(&zmodem->zmcore);
    return;
}
