2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. 2N/A * NAME service definitions 2N/A * The NODE_NAME ARRAY is an array of zero or more NUM_NAMES entries 2N/A * of NODE_NAME records. Each NODE_NAME entry represents an active 2N/A * name in the same NetBIOS scope as the requesting name in the 2N/A * local name table of the responder. RR_NAME is the requesting 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +--- NETBIOS FORMAT NAME ---+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * The NAME_FLAGS field: 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2N/A * +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2N/A * | G | ONT |DRG|CNF|ACT|PRM| RESERVED | 2N/A * +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2N/A * The NAME_FLAGS field is defined as: 2N/A * Symbol Bit(s) Description: 2N/A * RESERVED 7-15 Reserved for future use. Must be zero (0). 2N/A * PRM 6 Permanent Name Flag. If one (1) then entry 2N/A * is for the permanent node name. Flag is zero 2N/A * (0) for all other names. 2N/A * ACT 5 Active Name Flag. All entries have this flag 2N/A * CNF 4 Conflict Flag. If one (1) then name on this 2N/A * node is in conflict. 2N/A * DRG 3 Deregister Flag. If one (1) then this name 2N/A * is in the process of being deleted. 2N/A * ONT 1,2 Owner Node Type: 2N/A * 11 = Reserved for future use 2N/A * G 0 Group Name Flag. 2N/A * If zero (0) then it is a UNIQUE NetBIOS name. 2N/A * These two flags and address are contained within RDATA 2N/A * when rr_type==0x0020 (NB - NetBIOS general Name Service) 2N/A * and rr_class==0x01 (IN - Internet Class). 2N/A * STATISTICS Field of the NODE STATUS RESPONSE: 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | UNIT_ID (Unique unit ID) | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | UNIT_ID,continued | JUMPERS | TEST_RESULT | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | VERSION_NUMBER | PERIOD_OF_STATISTICS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | NUMBER_OF_CRCs | NUMBER_ALIGNMENT_ERRORS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | NUMBER_OF_COLLISIONS | NUMBER_SEND_ABORTS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | NUMBER_GOOD_SENDS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | NUMBER_GOOD_RECEIVES | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | NUMBER_RETRANSMITS | NUMBER_NO_RESOURCE_CONDITIONS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | NUMBER_FREE_COMMAND_BLOCKS | TOTAL_NUMBER_COMMAND_BLOCKS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * |MAX_TOTAL_NUMBER_COMMAND_BLOCKS| NUMBER_PENDING_SESSIONS | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | MAX_NUMBER_PENDING_SESSIONS | MAX_TOTAL_SESSIONS_POSSIBLE | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | SESSION_DATA_PACKET_SIZE | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * 4.4.1. NetBIOS DATAGRAM HEADER 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | MSG_TYPE | FLAGS | DGM_ID | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | SOURCE_PORT | DGM_LENGTH | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * MSG_TYPE values (in hexidecimal): 2N/A * 10 - DIRECT_UNIQUE DATAGRAM 2N/A * 11 - DIRECT_GROUP DATAGRAM 2N/A * 12 - BROADCAST DATAGRAM 2N/A * 13 - DATAGRAM ERROR 2N/A * 14 - DATAGRAM QUERY REQUEST 2N/A * 15 - DATAGRAM POSITIVE QUERY RESPONSE 2N/A * 16 - DATAGRAM NEGATIVE QUERY RESPONSE 2N/A * Bit definitions of the FLAGS field: 2N/A * +---+---+---+---+---+---+---+---+ 2N/A * | 0 | 0 | 0 | 0 | SNT | F | M | 2N/A * +---+---+---+---+---+---+---+---+ 2N/A * Symbol Bit(s) Description 2N/A * M 7 MORE flag, If set then more NetBIOS datagram 2N/A * F 6 FIRST packet flag, If set then this is first 2N/A * (and possibly only) fragment of NetBIOS 2N/A * SNT 4,5 Source End-Node type: 2N/A * RESERVED 0-3 Reserved, must be zero (0) 2N/A * 4.4.2. DIRECT_UNIQUE, DIRECT_GROUP, & BROADCAST DATAGRAM 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | MSG_TYPE | FLAGS | DGM_ID | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | SOURCE_PORT | DGM_LENGTH | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | PACKET_OFFSET | | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * / DESTINATION_NAME / 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * 4.4.3. DATAGRAM ERROR PACKET 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | MSG_TYPE | FLAGS | DGM_ID | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | SOURCE_PORT | ERROR_CODE | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * ERROR_CODE values (in hexidecimal): 2N/A * 82 - DESTINATION NAME NOT PRESENT 2N/A * 83 - INVALID SOURCE NAME FORMAT 2N/A * 84 - INVALID DESTINATION NAME FORMAT 2N/A * 4.4.4. DATAGRAM QUERY REQUEST 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | MSG_TYPE | FLAGS | DGM_ID | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 2N/A * / DESTINATION_NAME / 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * 4.4.5. DATAGRAM POSITIVE AND NEGATIVE QUERY RESPONSE 2N/A * 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 2N/A * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * | MSG_TYPE | FLAGS | DGM_ID | 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 2N/A * / DESTINATION_NAME / 2N/A * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2N/A * NetBIOS service state machine interface 2N/A * Name Cache Functions 2N/A/* Name service functions */ 2N/A/* Datagram service functions */ 2N/A/* browser functions */ 2N/A/* Netlogon function */ 2N/A#
endif /* _SMBNS_NETBIOS_H_ */