#ifndef __ctype_h
#include <ctype.h>
#endif
#ifndef __string_h
#include <string.h>
#endif
#ifndef __stdlib_h
#include <stdlib.h>
#endif
#include "qusec.h" /* Include for API error code structure */
#include "qsyrusri.h" /* Include for User Information API */
/**********************************************************************/
/* All file scoped Constants go here */
/**********************************************************************/
#define EQ ==
#define NEQ !=
#define BLANK ' '
#define FWIDTH 128 /* Width of one database file record */
#define FNAME 21 /* Qualified database file name width */
Figure 301. Sample FTPLogon Exit Program (Part 3 of 26)
/* Valid characters for Client IP address. The CheckClientAddress() */
/* function will check the Client IP address input argument */
/* (ClientIPaddr_p) to ensure it is in valid dotted-decimal format. */
/* This is one example of an input validity check. */
const char ValidChars[] = "0123456789.";
/**********************************************************************/
/* All file scoped type declarations go here */
/**********************************************************************/
/**********************************************************************/
/* All file-scoped macro calls go here */
/**********************************************************************/
/**********************************************************************/
/* All internal function prototypes go here */
/**********************************************************************/
static void qtmfsvrlgn
(int,char *,int,char *,int,char *,int,int *,char *,char *,char *);
static int CheckClientAddress(char *, int);
Figure 301. Sample FTPLogon Exit Program (Part 4 of 26)
AppendixE. TCP/IP Application Exit Points and Programs 557