blob: 2f661546ba5ea1d8f996dd929470bff253afe07a [file] [log] [blame]
// @@@ START COPYRIGHT @@@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// @@@ END COPYRIGHT @@@
#if _MSC_VER >= 1100
#pragma once
#endif
#ifndef NSKLTIMSG2_H
#define NSKLTIMSG2_H
#pragma pack(push, one, 8)
/* byte aligned structure */
typedef struct _NSKMSG_HEADER
{
#define NSKMSG_ALL_CPU -1
short SrcTmfCpu; /* source TmfCpu Number */
short DestTmfCpu; /* destination TmfCpu Number */
ULONG SendSeqNum; /* Sender Sequence Number */
}NSKMSG_HEADER, *PNSKMSG_HEADER;
/* 8 byte aligned structure */
typedef struct _NSKMSG_PARAMS_ {
/* PIRP, PLISTPORT, LISTENTRY are driver specific fields */
LIST_ENTRY ListEntry; /* List Entry for the driver */
void *pIrp; /* pointer to IRP */
short sysnum;
short node;
short port;
#define NSKMSG_UNACKMSG 0x0001 /* same as LCU_UNACKMSG */
#define NSKMSG_ACKMSG 0x0002 /* same as LCU_UNACKMSG */
short msgtype;
short flags;
#define LCU_ASYNCH 0x1
#define LCU_SYNCH 0x2
short mode;
short TmfCpu; /* for 8 byte alignment */
short datalen;
int tnetID; /* server net TNETID */
int rc;
} NSKMSG_PARAMS, *PNSKMSG_PARAMS;
typedef struct _NSKMSG_PARAMS_VERSION
{
unsigned long FileVersionMS; // Most significant part of 64 bit file version
unsigned long FileVersionLS; // Least significant part of 64 bit file version
} NSKMSG_PARAMS_VERSION,*PNSKMSG_PARAMS_VERSION;
typedef struct _NSKMSG_PIO_PARAMS_ {
/* PIRP, LISTENTRY are driver specific fields */
LIST_ENTRY ListEntry; /* List Entry for the driver */
void *pIrp; /* pointer to IRP */
void *lcumsg; /* pointer to IRP */
short sysnum;
short node;
short port;
short TmfCpu; /* port id or Tmf cpu number */
short datalen; /* data length, also used as in-line data length */
ULONG transferSize;
int rc;
/* these two fields must be the last two fields of this structure */
char *buf; /* data buffer */
} NSKMSG_PIO_PARAMS, *PNSKMSG_PIO_PARAMS;
#define NSKMSG_SEND_PIO_PARAMS NSKMSG_PIO_PARAMS
#define NSKMSG_LISTEN_PIO_PARAMS NSKMSG_PIO_PARAMS
#define PNSKMSG_SEND_PIO_PARAMS PNSKMSG_PIO_PARAMS
#define PNSKMSG_LISTEN_PIO_PARAMS PNSKMSG_PIO_PARAMS
typedef struct _NSKMSG_CONFIG_PARAMS_ {
int cmd; /* configuration command */
void *config_arg; /* config command specific argument */
} NSKMSG_CONFIG_PARAMS, *PNSKMSG_CONFIG_PARAMS;
#pragma pack(pop, one)
#endif // NSKLTIMSG2_H