// Sample code file: gwportal.h

// Warning: This code has been marked up for HTML
/*
//赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯突
//� (c) 1995 - 2003 Novell, Inc.  All rights reserved.                       �
//�                                                                          �
//� THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND        �
//� TREATIES.                                                                �
//�                                                                          �
//� NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED, COPIED,          �
//� DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED,         �
//� EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED    �
//� WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC.                        �
//�                                                                          �
//� ANY USE OR EXPLOITATION OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT �
//� THE PERPETRATOR TO CRIMINAL AND CIVIL LIABILITY.                         �
//掏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯凸
//� Source module name: GWPORTAL.H                                           �
//韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯图
*/
/*赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯突
//�                                                                          �
//�   PARENT PROGRAM:   NDPSGW.NLM - NDPS Gateway: (all)                     �
//�                                                                          �
//�   DESCRIPTION:      Header for connection to protocol specific modules   �
//�                     (Common to all NDPS Gateways)                        �
//�                                                                          �
//�   PROGRAMMERS:      Spencer P. Cottam                                    �
//�                                                                          �
//�   HISTORY:                                                               �
//�      08/31/98 spc   Created foundation of file from Port Handler code    �
//�                                                                          �
//韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯图
*/

/* Inclusion Control */
#if !defined( GWPORTAL_H )
   #define GWPORTAL_H

/* Standard Library Header Includes */

/* Header Includes */

/* Manifest Constant Definitions */

   /* Arbitrary, eg. enough for *multiple* SNMP path and file name */
   #define MAX_ACCESSORIES_STRING_LENGTH  1024

   /* parse status values - status will be sum of these less error count */
   #define PARSE_FOUND_HELP      0x200 /* found a help request          */
   #define PARSE_FOUND_SHOW      0x100 /* found a show request          */
   #define PARSE_FOUND_NAME      0x080 /* found a name                  */
   #define PARSE_FOUND_PORT      0x040 /* found a port match            */
   #define PARSE_MAX_ERROR    (PARSE_FOUND_PORT-2) /* leave a small margin */
   #define PARSE_FOUND_SHOW_DONE     \
         (PARSE_FOUND_SHOW + PARSE_FOUND_NAME + PARSE_FOUND_PORT + 1)
          /* found and performed a show req */

/* Macro Definitions */

/* Type Definitions */

   typedef struct MyParseSetStruct
   {
      nint (*parseFunction)(        /* Attempts parse, reports error if flag */
         nint,                         /* I: Number of command line arguments*/
         char  **,                     /* I: Separated command line arguments*/
         nint,                         /* I: No error reporting if N_FALSE   */
         nint32 **,                    /* O: Mallocs carried from parse      */
         char  ***);                   /* O: Mallocs carried from parse      */
      nint (*InitResourcesFunction)(/* Attempts init, reports error if flag  */
      //   gwConfigSType **gwPtrPtr,  /*I/O:to main PH struct */
         nint,                         /* I: Instance Handle */
         nint,                         /* I: No error reporting if N_FALSE   */
         nint32 *,                     /* I: Mallocs carried from parse      */
         char  **);                    /* I: Mallocs carried from parse      */
      void (*cleanParseFunction)(   /* clean/free mem, port list if helpflag */
         nint,                         /* I: N_TRUE to also display port list*/
         nint32 **,                    /*I/O:Mallocs carried from parse      */
         char  ***);                   /*I/O:Mallocs carried from parse      */
      nint     nextValid;           /* Run Time: index of next 'valid' set   */
      nint32 *args1;                /* Run Time: Mallocs carried from parse  */
      char  **args2;                /* Run Time: Mallocs carried from parse  */
   } MyParseSetSType;

/* Structure Definitions */

/* Global Variable Declarations */

/* Function Prototype Declarations */
int GwInstanceInitialization(
      nint argc,                 /* I: Number of command line options */
      char **argv);              /* I: Input command line */
void GwInstanceDeInitialization( struct gwConfigStruct *); /* I: MAIN PH STRUCTURE */



#else /* GWPORTAL_H is defined. */

   #if defined(N_DEBUG)
      #error gwportal.h has already been included.
   #endif /* N_DEBUG */

#endif /* GWPORTAL_H */