/*****************************************************************************
* Copyright (c) 1990-98 Digi International Inc., All Rights Reserved
* 
* This software contains proprietary and confidential information of Digi
* International Inc.  By accepting transfer of this copy, Recipient agrees
* to retain this software in confidence, to prevent disclosure to others,
* and to make no use of this software other than that for which it was
* delivered.  This is an unpublished copyrighted work of Digi International
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
* prohibited.
* 
* Restricted Rights Legend
*
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7031 or
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -
* Restricted Rights at 48 CFR 52.227-19, as applicable.
*
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
*
*****************************************************************************/


#include <windows.h>
#include <stdio.h>

#define INFENTRY_ARG_COUNT (3)
#define CMDLINE_ARGS_EXPECTED (INFENTRY_ARG_COUNT + 1)

int main(int argc, char *argv[])
{
   // from DigiInf.Dll
   extern DWORD APIENTRY INFEntryPoint(DWORD const cArgs, char const * const apszArgs[], char const ** const pszTextOut);
   extern DWORD APIENTRY Configure(DWORD const cArgs, char const * const apszArgs[], char const ** const pszTextOut);
   extern DWORD APIENTRY Remove(DWORD const cArgs, char const * const apszArgs[], char const ** const pszTextOut);
   extern DWORD APIENTRY Update(DWORD const cArgs, char const * const apszArgs[], char const ** const pszTextOut);

   static char * apszDlftArgs[] = { "0x00000000", "Houston", "DigiDxb2" };

   char ** ppszArgs = (argc == CMDLINE_ARGS_EXPECTED) ? &argv[1] : apszDlftArgs;
   char * pszTextOut = NULL;

   printf("Using %s arguments: ", (argc == CMDLINE_ARGS_EXPECTED) ? "command line" : "default");
   printf("%s / %s / %s.\n", ppszArgs[0], ppszArgs[1], ppszArgs[2]);

   // INFEntryPoint(INFENTRY_ARG_COUNT, ppszArgs, &pszTextOut);
   // Configure(INFENTRY_ARG_COUNT, ppszArgs, &pszTextOut);
   // Remove(INFENTRY_ARG_COUNT, ppszArgs, &pszTextOut);
   Update(INFENTRY_ARG_COUNT, ppszArgs, &pszTextOut);

   return 0;
}
