Definitions common to NBNS client and NBNS responder. More...
Go to the source code of this file.
Macros | |
| #define | NBNS_DEFAULT_RESOURCE_RECORD_TTL 120 |
| #define | NBNS_PORT 137 |
| #define | NBNS_ENCODE_H(c) ('A' + (((c) >> 4) & 0x0F)) |
| #define | NBNS_ENCODE_L(c) ('A' + ((c) & 0x0F)) |
Enumerations | |
| enum | NbnsFlags { NBNS_FLAG_ONT = 0x6000, NBNS_FLAG_ONT_BNODE = 0x0000, NBNS_FLAG_ONT_PNODE = 0x2000, NBNS_FLAG_ONT_MNODE = 0x4000, NBNS_FLAG_G = 0x8000 } |
| NBNS flags. More... | |
| enum | NbnsNameFlags { NBNS_NAME_FLAG_PRM = 0x0200, NBNS_NAME_FLAG_ACT = 0x0400, NBNS_NAME_FLAG_CNF = 0x0800, NBNS_NAME_FLAG_DRG = 0x1000, NBNS_NAME_FLAG_ONT = 0x6000, NBNS_NAME_FLAG_ONT_BNODE = 0x0000, NBNS_NAME_FLAG_ONT_PNODE = 0x2000, NBNS_NAME_FLAG_ONT_MNODE = 0x4000, NBNS_NAME_FLAG_G = 0x8000 } |
| NBNS name flags. More... | |
Functions | |
| error_t | nbnsInit (NetInterface *interface) |
| NBNS related initialization. More... | |
| void | nbnsProcessMessage (NetInterface *interface, const IpPseudoHeader *pseudoHeader, const UdpHeader *udpHeader, const NetBuffer *buffer, size_t offset, const NetRxAncillary *ancillary, void *param) |
| Process incoming NBNS message. More... | |
| size_t | nbnsEncodeName (const char_t *src, uint8_t *dest) |
| Encode a NetBIOS name. More... | |
| size_t | nbnsParseName (const NbnsHeader *message, size_t length, size_t pos, char_t *dest) |
| Decode a NetBIOS name. More... | |
| bool_t | nbnsCompareName (const NbnsHeader *message, size_t length, size_t pos, const char_t *name) |
| Compare NetBIOS names. More... | |
Variables | |
| typedef | __packed_struct |
| NBNS message header. More... | |
| uint8_t | rd |
| uint8_t | tc |
| uint8_t | aa |
| uint8_t | opcode |
| uint8_t | qr |
| uint8_t | rcode |
| uint8_t | b |
| uint8_t | z |
| uint8_t | ra |
| uint16_t | qdcount |
| uint16_t | ancount |
| uint16_t | nscount |
| uint16_t | arcount |
| uint8_t | questions [] |
| NbnsHeader | |
| Ipv4Addr | addr |
| NbnsAddrEntry | |
| uint16_t | flags |
| NbnsNodeNameEntry | |
| NbnsNodeNameEntry | names [] |
| NbnsNodeNameArray | |
| uint8_t | jumpers |
| uint8_t | testResult |
| uint16_t | versionNumber |
| uint16_t | periodOfStatistics |
| uint16_t | numberOfCrcs |
| uint16_t | numberAlignmentErrors |
| uint16_t | numberOfCollisions |
| uint16_t | numberSendAborts |
| uint32_t | numberGoodSends |
| uint32_t | numberGoodReceives |
| uint16_t | numberRetransmits |
| uint16_t | numberNoResourceConditions |
| uint16_t | numberFreeCommandBlocks |
| uint16_t | totalNumberCommandBlocks |
| uint16_t | maxTotalNumberCommandBlocks |
| uint16_t | numberPendingSessions |
| uint16_t | maxNumberPendingSessions |
| uint16_t | maxTotalSessionsPossible |
| uint16_t | sessionDataPacketSize |
| NbnsStatistics | |
Detailed Description
Definitions common to NBNS client and NBNS responder.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2025 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.5.4
Definition in file nbns_common.h.
Macro Definition Documentation
◆ NBNS_DEFAULT_RESOURCE_RECORD_TTL
| #define NBNS_DEFAULT_RESOURCE_RECORD_TTL 120 |
Definition at line 40 of file nbns_common.h.
◆ NBNS_ENCODE_H
Definition at line 49 of file nbns_common.h.
◆ NBNS_ENCODE_L
Definition at line 50 of file nbns_common.h.
◆ NBNS_PORT
| #define NBNS_PORT 137 |
Definition at line 46 of file nbns_common.h.
Enumeration Type Documentation
◆ NbnsFlags
| enum NbnsFlags |
NBNS flags.
Definition at line 62 of file nbns_common.h.
◆ NbnsNameFlags
| enum NbnsNameFlags |
NBNS name flags.
Definition at line 76 of file nbns_common.h.
Function Documentation
◆ nbnsCompareName()
| bool_t nbnsCompareName | ( | const NbnsHeader * | message, |
| size_t | length, | ||
| size_t | pos, | ||
| const char_t * | name | ||
| ) |
Compare NetBIOS names.
- Parameters
-
[in] message Pointer to the NBNS message [in] length Length of the NBNS message [in] pos Offset of the encoded domain name [in] name NULL-terminated string that holds a domain name
- Returns
- TRUE if the NetBIOS names match, else FALSE
Definition at line 316 of file nbns_common.c.
◆ nbnsEncodeName()
| size_t nbnsEncodeName | ( | const char_t * | src, |
| uint8_t * | dest | ||
| ) |
Encode a NetBIOS name.
- Parameters
-
[in] src Pointer to the name to encode [out] dest Pointer to the encoded NetBIOS name
- Returns
- Length of the encoded NetBIOS name
Definition at line 148 of file nbns_common.c.
◆ nbnsInit()
| error_t nbnsInit | ( | NetInterface * | interface | ) |
NBNS related initialization.
- Parameters
-
[in] interface Underlying network interface
- Returns
- Error code
Definition at line 53 of file nbns_common.c.
◆ nbnsParseName()
| size_t nbnsParseName | ( | const NbnsHeader * | message, |
| size_t | length, | ||
| size_t | pos, | ||
| char_t * | dest | ||
| ) |
Decode a NetBIOS name.
- Parameters
-
[in] message Pointer to the NBNS message [in] length Length of the NBNS message [in] pos Offset of the name to decode [out] dest Pointer to the decoded name (optional)
- Returns
- The position of the resource record that immediately follows the NetBIOS name
Definition at line 222 of file nbns_common.c.
◆ nbnsProcessMessage()
| void nbnsProcessMessage | ( | NetInterface * | interface, |
| const IpPseudoHeader * | pseudoHeader, | ||
| const UdpHeader * | udpHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| const NetRxAncillary * | ancillary, | ||
| void * | param | ||
| ) |
Process incoming NBNS message.
- Parameters
-
[in] interface Underlying network interface [in] pseudoHeader UDP pseudo header [in] udpHeader UDP header [in] buffer Multi-part buffer containing the incoming NBNS message [in] offset Offset to the first byte of the NBNS message [in] ancillary Additional options passed to the stack along with the packet [in] param Callback function parameter (not used)
Definition at line 80 of file nbns_common.c.
Variable Documentation
◆ __packed_struct
| typedef __packed_struct |
NBNS message header.
Statistics.
Node name array.
Node name entry.
Address entry.
Definition at line 102 of file nbns_common.h.
◆ aa
| uint8_t aa |
Definition at line 118 of file nbns_common.h.
◆ addr
| Ipv4Addr addr |
Definition at line 141 of file nbns_common.h.
◆ ancount
| uint16_t ancount |
Definition at line 127 of file nbns_common.h.
◆ arcount
| uint16_t arcount |
Definition at line 129 of file nbns_common.h.
◆ b
| uint8_t b |
Definition at line 122 of file nbns_common.h.
◆ flags
| uint16_t flags |
Definition at line 152 of file nbns_common.h.
◆ jumpers
| uint8_t jumpers |
Definition at line 174 of file nbns_common.h.
◆ maxNumberPendingSessions
| uint16_t maxNumberPendingSessions |
Definition at line 190 of file nbns_common.h.
◆ maxTotalNumberCommandBlocks
| uint16_t maxTotalNumberCommandBlocks |
Definition at line 188 of file nbns_common.h.
◆ maxTotalSessionsPossible
| uint16_t maxTotalSessionsPossible |
Definition at line 191 of file nbns_common.h.
◆ names
| NbnsNodeNameEntry names[] |
Definition at line 163 of file nbns_common.h.
◆ NbnsAddrEntry
| NbnsAddrEntry |
Definition at line 142 of file nbns_common.h.
◆ NbnsHeader
| NbnsHeader |
Definition at line 131 of file nbns_common.h.
◆ NbnsNodeNameArray
| NbnsNodeNameArray |
Definition at line 164 of file nbns_common.h.
◆ NbnsNodeNameEntry
| NbnsNodeNameEntry |
Definition at line 153 of file nbns_common.h.
◆ NbnsStatistics
| NbnsStatistics |
Definition at line 193 of file nbns_common.h.
◆ nscount
| uint16_t nscount |
Definition at line 128 of file nbns_common.h.
◆ numberAlignmentErrors
| uint16_t numberAlignmentErrors |
Definition at line 179 of file nbns_common.h.
◆ numberFreeCommandBlocks
| uint16_t numberFreeCommandBlocks |
Definition at line 186 of file nbns_common.h.
◆ numberGoodReceives
| uint32_t numberGoodReceives |
Definition at line 183 of file nbns_common.h.
◆ numberGoodSends
| uint32_t numberGoodSends |
Definition at line 182 of file nbns_common.h.
◆ numberNoResourceConditions
| uint16_t numberNoResourceConditions |
Definition at line 185 of file nbns_common.h.
◆ numberOfCollisions
| uint16_t numberOfCollisions |
Definition at line 180 of file nbns_common.h.
◆ numberOfCrcs
| uint16_t numberOfCrcs |
Definition at line 178 of file nbns_common.h.
◆ numberPendingSessions
| uint16_t numberPendingSessions |
Definition at line 189 of file nbns_common.h.
◆ numberRetransmits
| uint16_t numberRetransmits |
Definition at line 184 of file nbns_common.h.
◆ numberSendAborts
| uint16_t numberSendAborts |
Definition at line 181 of file nbns_common.h.
◆ opcode
| uint8_t opcode |
Definition at line 119 of file nbns_common.h.
◆ periodOfStatistics
| uint16_t periodOfStatistics |
Definition at line 177 of file nbns_common.h.
◆ qdcount
| uint16_t qdcount |
Definition at line 126 of file nbns_common.h.
◆ qr
| uint8_t qr |
Definition at line 120 of file nbns_common.h.
◆ questions
| uint8_t questions[] |
Definition at line 130 of file nbns_common.h.
◆ ra
| uint8_t ra |
Definition at line 124 of file nbns_common.h.
◆ rcode
| uint8_t rcode |
Definition at line 121 of file nbns_common.h.
◆ rd
| uint8_t rd |
Definition at line 116 of file nbns_common.h.
◆ sessionDataPacketSize
| uint16_t sessionDataPacketSize |
Definition at line 192 of file nbns_common.h.
◆ tc
| uint8_t tc |
Definition at line 117 of file nbns_common.h.
◆ testResult
| uint8_t testResult |
Definition at line 175 of file nbns_common.h.
◆ totalNumberCommandBlocks
| uint16_t totalNumberCommandBlocks |
Definition at line 187 of file nbns_common.h.
◆ versionNumber
| uint16_t versionNumber |
Definition at line 176 of file nbns_common.h.
◆ z
| uint8_t z |
Definition at line 123 of file nbns_common.h.
