#define INCL_DOSERRORS
#include <os2.h>

int IsFileNameValid(char *name)
{
  HFILE hf;
  ULONG uAction;

  switch( DosOpen(name, &hf, &uAction, 0L, 0, FILE_OPEN,
                  OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE, 0L) )
  {
  case ERROR_INVALID_NAME:
  case ERROR_FILENAME_EXCED_RANGE:
    return FALSE;
  case NO_ERROR:
    DosClose(hf);
  default:
    return TRUE;
  }
}
