141 lines
2.6 KiB
C
141 lines
2.6 KiB
C
#ifndef _NMSCHL_
|
|
#define _NMSCHL_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
/*++
|
|
|
|
Copyright (c) 1989 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Nmschl.h
|
|
|
|
|
|
Abstract:
|
|
This is the header file for interfacing with the Name Challenge
|
|
component of WINS
|
|
|
|
|
|
|
|
|
|
|
|
Functions:
|
|
|
|
|
|
|
|
Portability:
|
|
|
|
|
|
This header is portable.
|
|
|
|
Author:
|
|
|
|
Pradeep Bahl (PradeepB) Feb-1993
|
|
|
|
|
|
|
|
Revision History:
|
|
|
|
Modification Date Person Description of Modification
|
|
------------------ ------- ---------------------------
|
|
|
|
--*/
|
|
|
|
/*
|
|
includes
|
|
*/
|
|
#include "wins.h"
|
|
#include "comm.h"
|
|
#include "nmsdb.h"
|
|
/*
|
|
defines
|
|
*/
|
|
|
|
#define NMSCHL_INIT_BUFF_HEAP_SIZE 1000 //1000 bytes
|
|
|
|
/*
|
|
macros
|
|
*/
|
|
|
|
//
|
|
// The maximum number of challenges that can be initiated at any one time
|
|
// 500 is a very genrous number. We might want to make it smaller.
|
|
//
|
|
// used by QueRemoveChlReqWrkItm function in queue.c
|
|
//
|
|
#define NMSCHL_MAX_CHL_REQ_AT_ONE_TIME 500
|
|
|
|
/*
|
|
externs
|
|
*/
|
|
|
|
extern HANDLE NmsChlHeapHdl; //Heap for name challenge work items
|
|
|
|
extern HANDLE NmsChlReqQueEvtHdl;
|
|
extern HANDLE NmsChlRspQueEvtHdl;
|
|
extern CRITICAL_SECTION NmsChlReqCrtSec;
|
|
extern CRITICAL_SECTION NmsChlRspCrtSec;
|
|
|
|
#ifdef WINSDBG
|
|
extern DWORD NmsChlNoOfReqNbt;
|
|
extern DWORD NmsChlNoOfReqRpl;
|
|
extern DWORD NmsChlNoNoRsp;
|
|
extern DWORD NmsChlNoInvRsp;
|
|
extern DWORD NmsChlNoRspDropped;
|
|
extern DWORD NmsChlNoReqDequeued;
|
|
extern DWORD NmsChlNoRspDequeued;
|
|
extern DWORD NmsChlNoReqAtHdOfList;
|
|
#endif
|
|
|
|
/*
|
|
typedef definitions
|
|
*/
|
|
//
|
|
// NMSCHL_CMD_TYP_E -- Enumerator for indicating to the challenge manager
|
|
// what action it needs to take.
|
|
//
|
|
typedef enum _NMSCHL_CMD_TYP_E {
|
|
NMSCHL_E_CHL = 0, //challenge the node. If the
|
|
//challenge fails, send a negative
|
|
//name reg. response to the registrant,
|
|
//else send a positive response
|
|
NMSCHL_E_CHL_N_REL,
|
|
NMSCHL_E_CHL_N_REL_N_INF,
|
|
NMSCHL_E_REL, //ask the node to release the
|
|
//name and then update db. Used by
|
|
//the RPL PULL thread
|
|
NMSCHL_E_REL_N_INF, //ask the node to release the name. Tell //remote WINS to update the version number
|
|
NMSCHL_E_REL_ONLY //ask node to release name, no update db
|
|
|
|
} NMSCHL_CMD_TYP_E, *PNMSCHL_CMD_TYP_E;
|
|
|
|
/*
|
|
* function declarations
|
|
*/
|
|
STATUS
|
|
NmsChlInit(
|
|
VOID
|
|
);
|
|
|
|
extern
|
|
STATUS
|
|
NmsChlHdlNamReg(
|
|
NMSCHL_CMD_TYP_E CmdTyp_e,
|
|
WINS_CLIENT_E Client_e,
|
|
PCOMM_HDL_T pDlgHdl,
|
|
MSG_T pMsg,
|
|
MSG_LEN_T MsgLen,
|
|
DWORD QuesNamSecLen,
|
|
PNMSDB_ROW_INFO_T pNodeToReg,
|
|
PNMSDB_STAT_INFO_T pNodeInCnf,
|
|
// PCOMM_ADD_T pAddOfNodeInCnf,
|
|
PCOMM_ADD_T pAddOfRemWins
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|