Index

Symbols and Numbers

! operator, 80

#define directive, 225226

#elif directive, 229

#else directive, 228

#endif directive, 228

#error directive, 229

#file directive, 230

#if directive, 228

#ifdef directive, 227

#ifndef directive, 227228

#include directive, 227

#line directive, 229

#undef directive, 229

$PACKET pkt type, 51, 180181

$PIB pib type, 51, 181188

$SYS sys type, 188193

$SYS type, 52

~ operator, 80

802.1Q

in Q (stacked VLAN tags), 390391

VLAN tag, Ethernet header with, 389391

A

ACL (Access Control List), example database application, 147

additive operators, 73

ADP (application deployment package), 245, 248

aggregate types, 417

Alert command, 217

alert statement, 218

alerts, and logging, 217219

alert statement, 218

log statement, 219

aligning, structures, 111

alignment, 417

analyzeFurther( ) method, 128

analyzeSituation( ) method, 129

AND operator, bitwise. See bitwise AND operator

AND operator, logical. See logical AND operator

anonymous type, 417

application deployment package (ADP), 245, 248

architecture, for large applications, 239

argument, 417

arrays, 105109

assignment, 107

initialization, 109

slicing, 108109

subscripting operator, 106

unsized dimensions, 107

ASCII table, 383

with decimal to hexadecimal conversion, 385

ascii.ph, 292293, 300

assert.h, 288

assignment, arrays, 107

assignment operators, 7478

compound, 7576

compound repetition, 7677

increment and decrement, 78

post-increment and post-decrement, 78

prefix increment and prefix decrement, 78

simple, 75

associativity, 72, 417

at clauses, 206, 212

ATM (Mode Asynchronous Transfer), 419

B

backbone, 419

bandwidth, 420

bandwidth on demand, 420

base types, 100

baud, 420

binaries, 420

binary, 420

bit field layout, 116

bitfields, 211

container-based, 115117

declarations, 113

semantics for, 114115

bits, 386, 417, 420

Bits Per Second (bps), 420

bitwise AND operator, 80

bitwise exclusive OR operator, 81

bitwise inclusive OR operator, 81

bitwise NOT operator, 80

bitwise shift operators, 8185

data repetition quantifier, 8485

get field offset within structures operator, 8384

sizeof operator, 8283

Boolean data type, 79

BOOTP, 420

bps (Bits Per Second), 420

break statement, 130131

bridge, 420

broadband, 421

broadband network, 421

Built-in method, 71

bus, 421

byte array, 57, 6061

byte order, network, 63

bytes, 386, 417, 421

bytes per second, 421

C

C++ class, 19

C language

expressions, and operators, 68

packetC language vs., 1012

C Standard Library Headers, 288292

assert.h, 288

complex.h, 288

ctype.h, 288

error.h, 288

fenv.h, 289

inttypes.h, 289

iso646.h, 289

limits.h, 289

locale.h, 289

math.h, 289

setjmp.h, 290

signals.h, 290

stdarg.h, 290

stdbool.h, 290

stddef.h, 290

stdint.h, 290

stdio.h, 290291

stdlib.h, 291

string.h, 291

time.h, 292

wchar.h, 292

C++-style comments, 231

C-style comments

comments, 231

multi-line, 231

C-style data types. See data types

C style editor, 254

Carrier Sense Multiple Access with Collision Detection (CSMA/CD), 421

case sensitivity, and identifiers, 1213

cast operators, 97

catch statements, try statements and, 134

chaining, type declarations, 99

character, 417

character literals, 6263

checkSequence( ) method, 128

CIDR (Classless Inter-Domain Routing), 59

CIEs (Constant Integral Expressions), constant data types and, 101102

Classless Inter-Domain Routing (CIDR), 57

CloudShield, 421

CloudShield Packet Operating System (CPOS), 395

CloudShield PacketWorks IDE 3.1, 249250

CloudShield PacketWorks IDE tools, 249262

cloudshield.ph file, 60, 64, 292

errors section from, 138

example of, 199

portion for messages, 221

comments, 2932, 3637, 230232

C-style comments, 231

C++-style comments, 231

C-style comments, multi-line, 231

comment header example, 232

examples of, 231

file comment headers, 3031

function comment headers, 3132

nesting of, 231

compatibility, of data types, 95, 99100

compatible types, 418

compiler directives. See also pragma clauses

complex.h, 288

compound assignment operator, 7576

compound repetition assignment operator, 7677

compound statement, 125

conditional expressions, 126128

conditionals

formatting, 2628

layout and form of, 3435

const specifiers, 101

constant data types, and CIEs, 101102

constant declarations, variable declarations and, 6566

constant initialization, variable initialization and, 6568

Constant Integral Expressions (CIEs), constant data types and, 101102

constant searchsets, and searchset sizes, 152153

constraint, 418

container-based bitfields, 115117

container size, 116

content analysis, unstructured, 151

continuation character, 61

continue statement, 131

control category, 233234

control flow, object orientation and, 1314

control plane, 418

control plane interaction, 217221

alerts and logging, 217219

alert statement, 218

log statement, 219

messages

to control plane, 219221

portion of cloudshield.ph file for, 221

control-plane processor, 248

control statements, 125132

jump, 130132

break statement, 130131

continue statement, 131

exit statement, 132

goto statement, 131132

return statement, 132

looping, 129130

do_while statement, 129

for statement, 130

while statement, 129

CPOS (CloudShield Packet Operating System), 395

CSMA/CD (Carrier Sense Multiple Access with Collision Detection), 421

ctype.h, 288

cut-through, 421

D

data initialization. See initialization

data link layer, 422

data plane, 418

data-plane processor, 248

data repetition quantifier, 8485

data sheets

for CloudShield CPOS, 398

for CloudShield PacketWorks IDE, 396

for CS-2000, 400

for CS-4000, 402

data type category, 234

data types

arrays, 105109

assignment, 107

initialization, 109

slicing, 108109

subscripting operator, 106

unsized dimensions, 107

base, 100

bitfields

container-based, 115117

declarations, 113

semantics for, 114115

cast operators, 97

compatibility, 95

constant and CIEs, 101102

enumeration types, 103104

numeric literals, and implicit type casting, 96

scalar, 57

specifiers

const, 101

storage, 100

type, 101

structures, 110111

aligning, 111

types, tags, and name visibility, 112113

type casting

explicit, 9697

strong, 98

type declarations, 98

chaining, 99

typedef, 99100

variable specifiers for, 100

unions

overview, 110

types, tags, and name visibility, 112113

unsupported, 64

databaseId[idx].delete( ) method, 71

database.insert( ) method, 135

database.match( ) method, 135

databases, 139147

declarations, 140141

example application, 146147

limitations of and padding, 142

and masking, 141144

operators

delete, 144

insert, 145

invoking, 146

match, 145

subscripting, 144

records and elements, 143

DDoS (Distributed Denial of Service), 285286, 422

debugging, 245, 249, 254257, 260

decimal, to hexadecimal conversion, 385

declaration keywords, 383

declarations

bitfield, 113

database, 140141

functions, 26

and function prototypes, 8788

restrictions on, 89

reference, 160

searchset, 152

type. See type declarations

variable and constant, 6566

Decode Procedures. See TCP/IP systems

decrement operator, increment operator and, 78

defined operator, 230

delete operator, 121, 144

Denial of Service (DoS), 422

deref operator, 163164

dereferencing, 161164

descriptor declaration, 205206, 212

descriptors, 205214

construct, 211214

detailed view and description of, 208209

example application, 206207

impacts on performance, 214

networking, 263266

parallel processing and relation to, 210211

structure and union usage by, 209210

types of, 205

design considerations, 910

Destination type, 97

developing, for performance, 281

dimensions, unsized array, 107

direct recursion, 89

Distributed Denial of Service (DDoS), 285286, 422

distributed processing, 422

DNS (Domain Name System), 422

do-while loops, 2829

doLegalIssueLog( ) method, 128

Domain Name System (DNS), 422

doOrdinaryPacketInspection( ) method, 128

DoS (Denial of Service), 422

dotted address, 5859

dotted quad address, 5859

do_while statement, 129

downloads, 422

E

Eclipse environment, 252

elements, database, and records of, 143

end keyword, 108

endianness, 418

entry keyword, 88

enumeration types, 97, 103104

equality operators, 74

error handling, try-catch-throw. See try-catch-throw statements

error.h, 288

errors

section from cloudshield.ph file for reference, 138

user-defined, 137

Ethernet, 423

Ethernet header, 388389

Decode Procedure, Layer 2, 194195

with stacked VLAN tags, 390391

with VLAN tag, 389390

Ethernet interface, 183

Ethernet router, 257

exception handling, 133138

errors section from cloudshield.ph file, 138

system-defined response, 137

try-catch-throw statements, 133137

explicit throw statements, 136137

implicit throw statements, 135

simple program flow with, 138

try and catch statements, 134

user-defined errors, 137

executables

CloudShield PacketWorks IDE tools, 249262

overview, 245249

exit statement, 132

explicit throw statements, 136137

explicit type casting, 9697

expression keywords, 384

expression statement, 128

expressions

C language, and operators, 68

operators, initialization and, 65

extern keyword, 88

F

fenv.h, 289

File Transfer Protocol (FTP), 423

files

comment headers for, 3031

naming conventions, and file construction, 3334

filtering, 423

find operator, 154

flow control. See control statements

flow-oriented code, and large applications, 241

for statements, 2829, 130

forward reference, 418

forwarding, 423

framing, 423

free( ) method, global, 173174

FTP (File Transfer Protocol), 423

Full-Duplex, 423

FULL_MASK( ) method, 34

function call, 87, 8992

function enable, 87

functions, 8792

comment headers for, 3132

constructs of, 8789

function calls, 89

function declarations and prototypes, 8789

and declarations, 26

inlining, 9091

naming conventions for, 2021

parameters

passing modes for, 8990

types for, 91

return statements, 9192

variables, types and, 3435

G

gateway, 423

Gbps (Gigabits Per Second), 423

get field offset within structures operator, 8384

get packet offset operator, 120121

getHttpCommand( ) method, 21

Gigabits Per Second (Gbps), 423

glossary terms, 417–430

goto statement, 131132

guidelines, style, 1737

comments, 2932, 3637

file comment headers, 3031

function comment headers, 3132

conditional layout and form, 3435

file naming and construction conventions, 3334

introduction to, 1718

naming conventions, 1822

for functions, 2021

for types, 20

for variables, 1819

source code, 2229

do-while loops, 2829

form, 2325

formatting conditionals, 2628

functions and declarations, 26

if-else statements, 2829

include files and include statements, 25

indentation, 2223

for statements, 2829

switch statements, 2829

try-catch statements, 2829

while statements, 2829

variables, types, and functions, 3435

H

handleInstance( ) method, 129

header, 423

Header file, 40, 45

header formats, 387

Ethernet header, 388389

with stacked VLAN tags (802.1Q in Q), 390391

with VLAN tag (802.1Q), 389390

ICMP Header, 394

IPv4 header, 391392

IPv6 Header, 392393

TCP Header, 393394

UDP Header, 394

headers, 111, 115, 117

heartbeat, 424

Hertz (Hz), 424

hexadecimal, conversion of decimal to, 385

host, 424

host table, 424

Hz (Hertz), 424

I

ICMP Header, 394

IDE (Integrated Development Environment), 4

identifiers

case sensitivity and, 1213

overview, 5355

IEEE 802.3, 424

IEEE (Institute of Electrical and Electronic Engineers), 424

if-else statements, 2829

if statement, 126127

implementation-defined pragma clauses, 234235

implicit throw statements, 135

implicit type casting, numeric literals and, 96

include files

and include statements, 25

for large applications, 240

include statements, include files and, 25

increment operator, and decrement operator, 78

indentation, 2223

indirect recursion, 89

individual database, 143

initialization, 6585

of arrays, 109

associativity, 72

expressions, operators and, 65

operators, 6871

additive, 73

assignment, 7478

bitwise AND, 80

bitwise exclusive OR, 81

bitwise inclusive OR, 81

bitwise shift, 8185

C language expressions and, 68

equality, 74

logical AND, 79

logical OR, 7980

multiplicative, 7273

relational, 73

unsupported, 85

variable and constant, 6568

inlining, 9091

insert operator

overview, 145

with packets, 121122

instances, 418

Institute of Electrical and Electronic Engineers (IEEE), 424

integer types, 5759, 91, 97

Integrated Development Environment (IDE), 4

International Standards Organization (ISO), 424

Internet, 424

Internet Protocol (IP), 424

Internet Protocol Versions 4 (IPv4) header, 198199, 391392

Internet Protocol Versions 6 (IPv6) header, 198199, 392393

Internetwork Packet eXchange (IPX), 424

inttypes.h, 289

invoking operator, 146

IP (Internet Protocol), 424

IPv4 descriptor, 265

IPv4 (Internet Protocol Versions 4) header, 198199, 391392

IPv6 (Internet Protocol Versions 6) header, 198199, 392393

IPX (Internetwork Packet eXchange), 424

isInitialized( ) method, 22

ISO (International Standards Organization), 424

iso646.h, 289

iteration statements. See looping statements

J

jump statements, 130132

break, 130131

continue, 131

exit, 132

goto, 131132

return, 132

K

Kbps (Kilobits Per Second), 425

keywords, 383385

declaration keywords, 383

expression keywords, 384

method keywords, 384

pragma keywords, 384

pre-defined keywords, 384

statement keywords, 384

unit keywords, 383

Kilobits Per Second (Kbps), 425

L

L-value, 418

LAN (Local Area Network), 425

large applications, 237244

architecture for, 239

being careful with, 240

common style for, 238239

and flow-oriented code, 241

planning for, 237238, 241244

production environment for, 239240

using include files, 240

latency, 425

layer, 425

LHS container, 114

libraries, 287306

ascii.ph, 292293, 300

C Standard Library Headers, 288292

assert.h, 288

complex.h, 288

ctype.h, 288

error.h, 288

fenv.h, 289

inttypes.h, 289

iso646.h, 289

limits.h, 289

locale.h, 289

math.h, 289

setjmp.h, 290

signals.h, 290

stdarg.h, 290

stdbool.h, 290

stddef.h, 290

stdint.h, 290

stdio.h, 290291

stdlib.h, 291

string.h, 291

time.h, 292

wchar.h, 292

cloudshield.ph, 292

limits.ph, 292, 300301

moreprotocols.ph, 293, 301305

namedoperators.ph, 293, 305306

protocols.ph, 292

stdlib.ph, 293

time.ph, 293

trojanprotocols.ph, 293306

library module name declaration, 31

library modules, 4748

limits.h, 289

limits.ph, 292, 300301

line speed, 425

linked lists, developing without pointers, 164

Linux, 250, 258, 261

listCreateIterator( ) method, 165

LIST_CREATE_ITERATOR( ) method, 165, 167168, 170

LIST_INIT( ) method, 166

listInit( ) method, 166

LIST_INIT( ) method, 169

lists, linked, 164

literals, 5758

character, 6263

integral type, 5859

network, 5960

string, 6061

LLC (logical-link control), 422

load balancing, 425

Local Area Network (LAN), 425

locale.h, 289

lock( ) method, 39

lock operator

overview, 172

performing global malloc( ) and free( ) methods with, 173174

locking, and unlocking, 171

Log command, 218

log( ) method, 178, 201202, 221222

log statement, 219

logging, alerts and, 217219

alert statement, 218

log statement, 219

logical AND operator, 79

logical-link control (LLC), 422

logical NOT operator, 80

logical OR operator, 7980

Loop control, 34

looping statements, 129130

do_while, 129

for, 130

while, 129

lowerCamelCase, 18

lowercase, 18

M

MAC address, 264, 425

MAC (medium-access control), 422

main( ) method, 1314, 20, 41, 46, 66, 132, 176, 201, 206

malloc( ) method, global, 173174

Management Information Base (MIB), 425

masking, databases and, 141144

match operator, 145, 153154

mathematical expressions. See initialization

math.h, 289

maxRateLimit integer, 15, 63

MAY key word, 18

Mbps (Megabits Per Second), 425

MC-CPOS (Multi-Chassis CloudShield Packet Operating System), 395

medium-access control (MAC), 422

Megabits Per Second (Mbps), 425

memcmp( ) method, 155

memcopy( ) method, 107

memlocate( ) method, 155

memory allocation, 106

memory, layout of, 1415

memset( ) method, 7677, 109

messages

to control plane, $MSG_TYPE type, 219221

portion of cloudshield.ph file for, 221

metadata analysis, and performance, 285

method keywords, 384

MIB (Management Information Base), 425

Mode Asynchronous Transfer (ATM), 419

modules, 3941-See also compilation units

library, 4748

packet

overview, 4445

run-time environment data and predefined types for, 51

shared, 46

structure of, and scopes, 4348

moreprotocols.ph, 293, 301305

MPLS (Multiprotocol Label Switching) Label Stack Decode Procedure, Layer 2 ½, 197

Multi-Chassis CloudShield Packet Operating System (MC-CPOS), 395

multi-context real-time debugger utilization, 260

multi-line comments, 231

multicast, 426

multiplicative operators, 7273

Multiprotocol Label Switching (MPLS) Label Stack Decode Procedure, Layer 2 ½, 197

MUST key word, 17

MUST NOT key word, 17

myDb.delete( ) method, 145

myDb[j].delete( ) method, 144

myLocalFunc( ) method, 4647, 49

myPackatDate variable, 13

mypacketdata, 12

myPacketData variable, 1213

N

name server, 426

NAMEDOPERATORS.PH, 251

namedoperators.ph, 293, 305306

naming conventions, 1822

for functions, 2021

for types, 20

for variables, 1819

naturally aligned structures, 110111

nested literal form, 107, 418

nested structures, 112

nesting, of comments, 231

NetBEUI, 426

NetBIOS, 426

Netflow record generation, and performance, 285

network, 426

network address, 426

network byte order, 63

Network Byte Order, 426

Network Interface Card (NIC), 426

network literals, 5960

network management, 426

network order, 211

networking descriptors, 263266

networking Terms, 419–430

NIC (Network Interface Card), 426

node, 426

NOT operator

bitwise. See bitwise NOT operator

logical. See logical NOT operator

null statement, 128

null termination, and searchsets, 153

null terminator, 6061

numeric literals, and implicit type casting, 96

O

object, 419

object orientation, and control flow, 1314

Object RAVE Code (ORC), 245

object rave executable (ORE), 248

Open Systems Interconnection (OSI), 386, 426–427

Operand type, 71

operators, 6871

additive, 73

assignment, 7478

compound, 7576

compound repetition, 7677

increment and decrement, 78

post-increment and post-decrement, 78

prefix increment and prefix decrement, 78

simple, 75

bitwise AND, 80

bitwise exclusive OR, 81

bitwise inclusive OR, 81

bitwise shift, 8185

data repetition quantifier, 8485

get field offset within structures operator, 8384

sizeof operator, 8283

C language expressions and, 68

cast, 97

equality, 74

expressions, initialization and, 65

find, 154

logical AND, 79

logical OR, 7980

match, 153154

multiplicative, 7273

packet, 121123

delete operator, 121

insert operator, 121122

replicate operator, 123

requeue operator, 123

reference, 163164

deref operator, 163164

developing linked lists without pointers, 164

relational, 73

unsupported, 85

OR operator

bitwise exclusive. See bitwise exclusive OR operator

logical. See logical OR operator

ORC (Object RAVE Code), 245

ORE (object rave executable), 248

OSI (Open Systems Interconnection), 386, 426–427

P

packet, 427

packet captures, 261

packet handling, 175199

example cloudshield.ph include file, 199

predefined types

$PACKET pkt, 180181

$PIB pib, 181188

$SYS sys, 188193

shared definitions, 176180

TCP/IP Stack Decode for pib layer offset calculations, 193199

Layer 2 ½ MPLS Label Stack Decode Procedure, 197

Layer 2 Ethernet 802.1Q Decode Procedure, 195

Layer 2 Ethernet Header Decode Procedure, 194

Layer 2 SONET Header Decode Procedure, 196

Layer 3 IPv4 and IPv6 Header Decode Procedure, 198199

packet information block (PIB), 40, 51, 181188, 211

packet main construct, 211

packet module name declaration, 31

packet modules

overview, 4445

run-time environment data and predefined types for, $PACKET pkt type, 51

packet orientation, 8

PACKET type, 20, 40

packetC array slice, 108

packetC compile, 235

packetC descriptor, 110

packetContents array, 106

packetC.org, 251, 258

packetId.replicate( ) method, 71

packetId.requeue( ) method, 71

packets, 119123

interaction with, 119121

operators, 121123

packet delete, 121

packet insert, 121122

packet replicate, 123

packet requeue, 123

padding, databases, 142

parallel processing

overview, 8

and relation to descriptors, 210211

parallelism, 39

parameters, 419

passing modes for, 8990

types for, and return types, 91

passing modes, for parameters, 8990

performance, 281286

concept example for, 282285

and DDoS trend analysis, 285286

descriptor impact on, 214

developing for, 281

and metadata analysis, 285

minimizing processes, 286

and Netflow record generation, 285

not involving other contexts, 286

and VoIP QoS analysis, 286

physical address, 427

physical layer, 427

pib layers, Stack Decode for offset calculations, 193199

Layer 2 ½ MPLS Label Stack Decode Procedure, 197

Layer 2 Ethernet 802.1Q Decode Procedure, 195

Layer 2 Ethernet Header Decode Procedure, 194

Layer 2 SONET Header Decode Procedure, 196

Layer 3 IPv4 and IPv6 Header Decode Procedure, 198199

PIB (packet information block), 40, 51, 181188, 211

pkt.delete( ) method, 135

pkt.insert( ) method, 135

pkt.replicate( ) method, 13, 120, 123, 134135

planning, for large applications, 237238, 241244

Point-to-Point Protocol (PPP), 427

pointers, developing linked lists without, 164

port, 427

POSIX regular expression, 235, 250, 259

post-decrement operator, post-increment operator and, 78

post-increment operator, and post-decrement operator, 78

PPP (Point-to-Point Protocol), 427

pragma categories, 233

pragma clauses, 233235

implementation-defined, 234235

overview, 233

regular expressions with, 235

pragma keywords, 384

pre-defined keywords, 384

pre-processor, 223232, 235

#define directive, 225226

#elif directive, 229

#else directive, 228

#endif directive, 228

#error directive, 229

#file directive, 230

#if directive, 228

#ifdef directive, 227

#ifndef directive, 227228

#include directive, 227

#line directive, 229

#undef directive, 229

comments, 230232

C-style comments, 231

C++-style comments, 231

comment header example, 232

examples of, 231

nesting of, 231

defined operator, 230

interaction with regular expressions, 154155

prefix decrement operator, 78

prefix increment operator, 78

production environment, for large applications, 239240

programs, 3952

modules, 3941

parallelism, 39

run-time environment data and predefined types, 5052

scopes, 4142

graphical representation of linkage, 4850

module structure and, 4348

proper alignments, 111, 419

protocol headers, 208209, 211, 213

protocols, 111, 115, 117, 427

protocols.ph file, 266, 292

prototypes, function

and function declarations, 8788

restrictions on, 89

Q

QoS (Quality of Service), 427

R

random( ) method, 68

RAVE (respective assembly level opcodes), 246

real-time debugger utilization, 260

records, database, 143

references, 159164

assigning values to, 161

declarations, 160

dereferencing, 161162

operators, 163164

deref, 163164

developing linked lists without pointers, 164

regex specifier, 154

regex1 argument, 234235

regular expressions

interaction of pre-processor with, 154155

with pragma clauses, 235

relational operators, 73

replicate operator, with packets, 123

representative actors, 248

Request For Comment (RFC), 428

requeue operator, with packets, 123

respective assembly level opcodes (RAVE), 246

responses, system-defined, 137

Result type, 71

return statements, 26, 9192, 132

return types, parameter types and, 91

RFC (Request For Comment), 428

ring, 428

RMON, 428

route, 428

router, 428

routing, 428

run-time environment data, and predefined types, 5052

for packet modules, 51

for PIBS, 51

for SYS, 52

S

scalar types, 57, 95, 419

scopes, 4142

graphical representation of linkage, 4850

module structure and, 4348

library, 4748

packet, 4445

shared, 46

searchset.find( ) method, 135

searchset.match( ) method, 135

searchsets, 151156

constant, and searchset sizes, 152153

declarations, 152

example application, 156

interaction of pre-processor with regular expressions, 154155

null termination issues and, 153

operation and mechanics of, 155

operators

find, 154

match, 153154

regex specifier, 154

for unstructured content analysis, 151

security, 8

selection statements, 125128

compound, 125

conditional expressions, 126128

control, 125

expression, 128

if, 126127

null, 128

switch, 127128

semaphores, 171174

lock operator, 172174

locking and unlocking, 171

unlock operator, 173174

Serial Line Internet Protocol (SLIP), 428

server, 428

session, 428

setjmp.h, 290

shared module name declaration, 31

shared modules, 46

sharedCall( ) method, 50

shift operators, bitwise. See bitwise shift operators

SHOULD key word, 17

SHOULD NOT key word, 18

signals.h, 290

simple assignment operator, 75

Simple Network Management Protocol (SNMP), 429

SimpleIpv4, 266

sizeof operator, 8283

slice, 419

slicing, arrays, 108109

SLIP (Serial Line Internet Protocol), 428

SNA (Systems Network Architecture), 428

SNMP (Simple Network Management Protocol), 429

someLib_Func( ) method, 40, 45

someLibFuncA( ) method, 50

someLibFuncB( ) method, 4748, 50

someLibFuncC( ) method, 48

SONET router, 257

SONET (Synchronous Optical Networking) Header Decode Procedure, Layer 2, 196

source code, 2229, 429

do-while loops, 2829

form, 2325

formatting conditionals, 2628

functions and declarations, 26

if-else statement, 2829

include files and include statements, 25

indentation, 2223

for statements, 2829

switch statements, 2829

try-catch statements, 2829

while statements, 2829

Source type, 97

spanning tree, 429

specifiers

const, 101

storage, 100

type, 101

variable, for type declarations, 100

specs

for CS-2000, 401

for CS-4000, 403

Stack Decode, for pib layer offset calculations, 193199

Layer 2 ½ MPLS Label Stack Decode Procedure, 197

Layer 2 Ethernet 802.1Q Decode Procedure, 195

Layer 2 Ethernet Header Decode Procedure, 194

Layer 2 SONET Header Decode Procedure, 196

Layer 3 IPv4 and IPv6 Header Decode Procedure, 198199

stacked VLAN tags (802.1Q in Q), Ethernet header with, 390391

Standard Library Headers, C, 288292

assert.h, 288

complex.h, 288

ctype.h, 288

error.h, 288

fenv.h, 289

inttypes.h, 289

iso646.h, 289

limits.h, 289

locale.h, 289

math.h, 289

setjmp.h, 290

signals.h, 290

stdarg.h, 290

stdbool.h, 290

stddef.h, 290

stdint.h, 290

stdio.h, 290291

stdlib.h, 291

string.h, 291

time.h, 292

wchar.h, 292

statement keywords, 384

statements

catch statements, try statements and, 134

control statements, 125132

jump, 130132

looping, 129130

exception handling, 133137

explicit throw statements, 136137

functions, 9192

if-else statements, 2829

implicit throw statements, 135

include statements, include files and, 25

jump statements, 130132

break, 130131

continue, 131

exit, 132

goto, 131132

return, 132

looping statements, 129130

do_while, 129

for, 130

while, 129

return statements, 26, 9192, 132

selection statements, 125128

compound, 125

conditional expressions, 126128

control, 125

expression, 128

if, 126127

null, 128

switch, 127128

source code

include files and include statements, 25

for statements, 2829

switch statements, 2829

try-catch statements, 2829

while statements, 2829

for statements, 2829, 130

switch statements, 2729, 37, 127128

throw statements

explicit, 136137

implicit, 135

try-catch statements, 2829

try-catch-throw statements, 133137

explicit throw statements, 136137

implicit throw statements, 135

simple program flow with, 138

try and catch statements, 134

user-defined errors, 137

try statements, and catch statements, 134

while statements, 2829, 129

stdarg.h, 290

stdbool.h, 290

stddef.h, 290

stdint.h, 290

stdio.h, 290291

stdlib.h, 291

stdlib.ph, 293

storage specifiers, 100

StorageTypes, 22

store and forward, 429

straddle behavior, 116

string literals, 6061

string.h, 291

Strong type, 98

strong type casting, 98

StructBytes, 266

structures, 110111

aligning, 111

types, tags, and name visibility, 112113

and unions, usage by descriptors, 209210

style guidelines, 1737

comments, 2932, 3637

file comment headers, 3031

function comment headers, 3132

conditional layout and form, 3435

file naming and construction conventions, 3334

introduction to, 1718

naming conventions, 1822

for functions, 2021

for types, 20

for variables, 1819

source code, 2229

do-while loops, 2829

form, 2325

formatting conditionals, 2628

functions and declarations, 26

if-else statements, 2829

include files and include statements, 25

indentation, 2223

for statements, 2829

switch statements, 2829

try-catch statements, 2829

while statements, 2829

variables, types, and functions, 3435

subnet, 429

subscripting operators, 106, 144

switch, 429

switch statements, 2729, 37, 127128

Synchronous Optical Networking (SONET) Header Decode Procedure, Layer 2, 196

SYS (System Information), 40, 52, 188193

system-defined responses, 109, 137, 419

System Information (SYS), 40, 52, 188193

Systems Network Architecture (SNA), 428

T

tags, types, 112113

TCP Header, 393394

TCP/IP systems

vs. OSI model, 386

Stack Decode for pib layer offset calculations, 193199

Layer 2 ½ MPLS Label Stack Decode Procedure, 197

Layer 2 Ethernet 802.1Q Decode Procedure, 195

Layer 2 Ethernet Header Decode Procedure, 194

Layer 2 SONET Header Decode Procedure, 196

Layer 3 IPv4 and IPv6 Header Decode Procedure, 198199

TCP (Transmission Control Protocol), 430

telnet, 429

Telnet packets, 8

terminal server, 429

terms

language, 417419

networking, 419–430

TFTP (Trivial File Transfer Protocol), 429

throughput, 430

throw statements

explicit, 136137

implicit, 135

time.h, 292

time.ph, 293

tool-chain, 245247

tool chain, 255

topology, 430

Transmission Control Protocol (TCP), 430

Trivial File Transfer Protocol (TFTP), 429

trojanprotocols.ph, 293306

try-catch statements, 2829

try-catch-throw statements, 133137

explicit throw statements, 136137

implicit throw statements, 135

simple program flow with, 138

try and catch statements, 134

user-defined errors, 137

try statements, and catch statements, 134

typdef byte char, 62

typdef int bool, 64

type casting

explicit, 9697

implicit, numeric literals and, 96

strong, 98

type declarations, 98

chaining, 99

typedef, 99100

variable specifiers for, 100

type specifiers, 101

typedef declaration, and type compatibility, 99100

types, data

arrays, 105109

assignment, 107

initialization, 109

slicing, 108109

subscripting operator, 106

unsized dimensions, 107

base, 100

bitfields

container-based, 115117

declarations, 113

semantics for, 114115

cast operators, 97

compatibility, 95

constant and CIEs, 101102

enumeration types, 103104

numeric literals, and implicit type casting, 96

scalar, 55

specifiers

const, 101

storage, 100

type, 101

structures, 110111

aligning, 111

types, tags, and name visibility, 112113

type casting

explicit, 9697

strong, 98

type declarations, 98

chaining, 99

typedef, 99100

variable specifiers for, 100

unions

overview, 110

types, tags, and name visibility, 112113

unsupported, 62

U

UDP Header, 394

undefined behavior, 419

Uniform Resource Locator (URL), 430

union declarations, 112

unions, 110

structures and, usage by descriptors, 209210

types, tags, and name visibility, 112113

unit keywords, 383

unlock( ) method, 39

unlock operator, 173174

unlocking, locking and, 171

unsigned integer types, 57

unsized array dimensions, 107

unstructured content analysis, searchsets for, 151

UpperCamelCase, 18

UPPERCASE, 18

URL (Uniform Resource Locator), 430

user-defined errors, 137

user-protocols.ph, 266

V

value, 419

variable declarations, and constant declarations, 6566

variable initialization, and constant initialization, 6568

variable specifiers, for type declarations, 100

variables, 5564

data types, 55

scalar, 57

unsupported, 64

identifiers, 5557

literals, 5758

character, 6263

integral type, 5859

network, 5960

string, 6061

naming conventions for, 1819

network byte order, 63

types, functions and, 3435

Virtual Local Area Network (VLAN), 195, 430

Virtual Machines (VMs), behavior of, 1112

virtual patch panels, 245, 248249, 253

visibility, types, 112113

visual debugging, 256

VLAN tag (802.1Q), Ethernet header with, 389391

VLAN (Virtual Local Area Network), 195, 430

VMs (Virtual Machines), behavior of, 1112

VoIP QoS analysis, and performance, 286

W

WAN (Wide Area Network), 430

wchar.h, 292

while statements, 2829, 129

Wide Area Network (WAN), 430

writeXmlTree( ) method, 21

X, Y, Z

XML data file, 248

XOR operator, 81

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.105.159