Manning Publications
TCP/IP Programming
for OS/2


Inside the book
Contents
Preface
Chapter 1
Chapter 10
Index

About the book
Readers also bought
From the experts
About the author

The Publisher
In press
Under development
Recently published
Catalog
Contact us

Order
Index

A
Anchor block 27, 95
API
     accept 303, 306
     DosKillThread 56, 80
     DosSleep 56
     DosWaitThread 55
     getprotobyname 262
     ioctl 8
     listen 301
     recv 49, 303
     recvfrom 270
     select 316, 392
     send 49, 306
     sendto 269
     shutdown 305
     sock_init 48, 259
     soclose 305
     WinBeginPaint 141
     WinCreateMsgQueue 27, 94
     WinCreateStdWindow 28, 140
     WinCreateWindow 24
     WinDefDlgProg 152
     WinDefWindowProc 29
     WinDestroyMsgQueue 95
     WinDispatchMsg 28
     WinEnableMenuItem 167
     WinEndPaint 141
     WinInitialize 27, 94
     WinInvalidateRect 118
     WinPostMsg 107
     WinQueryPresParam 117
     WinQueryWindowPos 112
     WinQueryWindowText 109
     WinRegisterClass 27
     WinRegisterWindow 120
     WinSendMsg 107
     WinSetPresParam 116
     WinSetWindowPos 110
     WinShowWindow 110
     WinTerminate 27, 95
     WinUpdateWindow 111
ARPANET 39

B
Barnes, David 14
Bitmaps 91, 166, 221, 241
Buttons 91, 99
     Enabling, disabling 109
     Minimize, maximize 129
     System menu 129

C
Child window
     Creating 145
     Getting parent object 145
     Setting parent object 144
     Setting size, position 146-147
Class libraries 11
Code reuse 67
Command tables 91
Common User Access 32
     Action bars 33
     Edit menu 34
     Help menu 35
     Keyboard accelerators 35
Compilers xii, 4-5, 7
Connections
     Closing 266
     Finding host for 260
     Initializing 259
     Loading text file from 271
     Opening 264
     Raw socket interface 263
     ReceiveFrom method 270
     Receiving data 268
     Sending data 266
     SendTo method 269
     Setting protocol for 262
     Streaming socket interface 263
Containers
     Allocating record space 228
     Columns in detail view 243
     Compressing trees 242
     Example sort function 233
     Expanding trees 241
     Extended selection in 225
     Fast record manipulation 237
     Finding child records 238
     Inserting records 229
     Parent records in tree view 234
     Redrawing records 232
     Removing records 231
     Searching for data 233
     Selecting records 242
     Sorting 232
     Style flags (CCS_) 224
     Views 226

D
Datagram sockets 263
Debugging 245
DEF File
     DATA 328
     DESCRIPTION 328
     HEAPSIZE 329
     PROTMODE 329
     STACKSIZE 329
Desktop
     Height 96
     Width 97
Dialog boxes
     Border height 98
     Closing 151
     Creating 149
     Creating with parent 150
     Processing 150
Dynamic link libraries 10

E
E (OS/2 system editor) 327
Edit controls 201
Event semaphores 84
F
Files
     DEF 328
     RC 337
     RES 337
FTP 262, 295, 322, 467
FTP connections
     ABOR 316
     Accepting data connection 303
     ACCT 309
     Closing 299
     Closing data socket 305
     CWD 313
     DELE 314
     DIR 315
     Listening for data connection 301
     MKD 314
     NOOP 319
     Opening 298
     Out-of-band messaging 306
     PASS 310
     Putting file 306
     PWD 312
     QUIT 319
     Receiving data 300
     RETR 317
     RMD 313
     Sending data 300
     Sending FTP commands 308
     SITE 309
     STOR 318
     SYST 308
     TYPE 311
     USER 310

G
Games, TCP/IP development for 467
Gopher 322
Gwinn, Ray 6

H
HAB 27
HTML 14
Hungarian notation xi
Hypertext Markup Language 14

I
IBM
     Developer Assistance Program 14
     Developer Connection for OS/2 4, 467
     Employee Written Software Library 14
     Entertainment Developer's Toolkit 467
     OS/2 Redbooks 4
     TCP/IP Programmer's Toolkit 4, 7
     TCP/IP utilities 4
ICLUI xii, 5, 69, 254
ICMP 259, 262-263, 272
Icon 130, 132, 140, 174, 177, 179, 181, 186, 221
ICONEDIT utility 174, 339
INI File 70
     Closing 72
     Opening 71
     Reading from 73
     Sample program 74
     System 76
     User 74
     Writing to 73
INT 21 interface 20
International Standards Organization 40
Internet
     OS/2 newsgroups 12
     Useful FTP sites 13
     Useful Gophers 13
     Useful Web pages 14
Internet Relay Chat 321
IOCTL 20
IP Protocol 263
ISO/OSI 40

L
Listbox
     Counting items 162
     Deleting all items 160
     Deleting items 160
     Inserting items 159
     Querying item text 163
     Querying selections 162
     Selecting items 161
     Style flags (LS_) 157
Logging debug information 245

M
MAKE 8-9
Menus
     Disabling items 168
     Enabling items 167
     Getting item text 169
     Height 98
     Setting item text 168
Message tables 90
Microsoft
     DOS 19
     Windows 19
     Windows 3.1 8, 322
     Windows 95 254
     Windows NT 8, 16-17, 254
MLE Style flags (MLS_) 204
Moskowitz, David 31
Motif 254
MPTS 3
Multiline edit controls
     Clearing text 210
     Clipboard operations 208
     Deleting text 212
     Detecting changes in 207
     Enabling, disabling refresh 210
     Getting buffer length 210
     Inserting text 211
     Insertion point column number 216
     Insertion point line number 216
     Loading from file 218
     Number of lines 217
     Querying text selections 212
     Read only 206
     Saving to file 219
     Searching for text 215
     Undoing changes 209
     Word wrap 207
Multi-Protocol Transfer Services 3
Multithreading 54
Multi-User Dungeons 467

N
NeoLogic Network Suite viii, 4, 322
NETCLASS
     C_CONNECT 256
     C_CONNECT_FTP 295
     C_CONNECT_PING 272
     C_NEWS_CONNECT 278
NETSTAT 6, 50
Network File System 263
News
     Global memory use 405
     Object message flow 403
     Uudecode 452
News connections 286
     Closing 282
     End posting 284
     Getting newsgroups list 284
     Listing new newsgroups 286
     Loading article body 293
     Loading article header 294
     Loading articles 292
     Loading newsgroup descriptions 285
     Loading newsgroup overview 288
     Opening 281
     Selecting newsgroups 289
     Server responses 281
     Start posting 283
NFS 263
NMAKE 8
NNTP 264, 278, 295, 322, 393
NVCLASS
     C_INI 70
     C_INI_SYSTEM 76
     C_INI_USER 74
     C_SEM_EVENT 84
     C_THREAD 77, 380
     C_THREAD_PM 81
NVCLASS library 69

O
1/10 second rule 6, 57, 63, 436
Object Windows Library 69
OpenDoc 393
OS/2
     Architecture 20
     Common User Access 32
     Development tools 6
     Memory management 19
     Multitasking 18
     Single message queue 17
     Structure 20
     Threading 18, 54
     Useful FTP sites 13
     Useful Gophers 13
     Useful newsgroups 12
     Useful Web pages 14
     Virtual memory 19
     Warp Bonus Pack 3, 17
     What is it? 16
OS2.INI 75
OS20Memu 4, 6
OS2SYS.INI 76
OWL xii, 31, 69

P
Ping 44, 272
Ping connections
     Opening 274
     Packet checksum 278
     Receiving packets 275
     Transmitting packets 274
PM Message
     WM_CHAR 367
     WM_CLOSE 151
     WM_COMMAND 91, 123, 152, 154, 192, 198
     WM_CONTROL 188
     WM_CREATE 28, 187, 409, 459
     WM_INITDLG 153
     WM_PAINT 29, 91, 141, 179
     WM_QUIT 465
     WM_SIZE 379
PMCLASS
     C_APPLICATION 93
     C_BUTTON_TBAR 174
     C_CONTAINER 221
     C_DIALOG 148
     C_EDIT 199
     C_LISTBOX 156
     C_LOG 245
     C_MENU 166
     C_MLE 202
     C_PUSHBUTTON 154
     C_SLIDER 169
     C_STATUS 163
     C_TOOLBAR 183
     C_WINDOW 99
     C_WINDOW_CHILD 142
     C_WINDOW_STD 126
     Command tables 91
     Message tables 90
     Minimal example 30
Pointer Image 186
POP 271
Portability 68
PPP 41
Presentation Manager
     Anchor block 27
     C Source minimal example 24
     Child windows 23
     Control windows 24
     Goals for applications 31
     Header file minimal example 24
     How does it work? 23
     Initializing threads 83
     Message model 17
     Single message queue 17
     Terminating threads 83
     What is it? 21
PRJ2MAK 8
Pstat 6
Pulse 4, 6

R
Raw sockets 263
Reich, David 36
Resource Compiler 337
RFC     14, 38, 40
     RFC 1055     41
     RFC 768     44
     RFC 791     43
     RFC 795     44, 272
     RFC 826     44
     RFC 959     45, 295, 454
     RFC 977     287, 294

S
Semaphores 84
     Closing 87
     Creating 86
     Opening existing 86
     Posting 88
     Resetting 87
     Waiting for activation 88
Simonyi, Charles xi
SIO drivers 6
Sliders
     Setting scale 173
     Setting value 173
     Style flags (SLS_) 170
SLIP 41
SMTP 271
Sockets
     Datagram 263
     Raw 263
     Streaming 262
Status line 165
Streaming sockets 262
System Application Architecture 32

T
Taligent 393
TCP 41, 262, 266
TCP/IP
     ARPANET 39
     FTP 295, 322
     Gopher 322
     ICMP 263, 272
     IP 263
     IRC 321
     Minimum programming example 46
     NNTP 264, 278, 295, 322, 393
     Ping 272
     POP 271
     PPP 41
     SLIP 41
     SMTP 271
     TCP 41, 262, 266
     UDP 41, 263, 266
     Utilities 4
Theseus/2 6
Threads
     Creating 79
     Killing 80
     Use in PM programs 81
     Waiting for completion 81
Toolbar buttons
     Initializing 177
     MsgBMButton1Down method 180
     MsgMouseMove method 178
     MsgPaint method 179
     Setting state 181
     Toggling 181
Toolbars
     Associating status line 192
     Creating buttons 193
     Enabling and disabling buttons 197
     MsgBMButton method 188
     MsgBMButton1Down method 189
     MsgBMText method 189
     MsgCreate method 187
     MsgMouseMove method 190
     MsgPaint method 190
     Sample code 198
     Setting button state 196
     Toggling buttons 195

U
UDP 41, 263, 266
UNIX 18-19, 68, 254

V
Visual development tools 5
VisualAge xii, 5
VisualBuilder 5

W
Warp Connect 3, 16
WatchCat 4, 6
WebExplorer 3
Window
     Adding border 133
     Adding icon 130
     Adding maximize button 132
     Adding minimize button 131
     Adding titlebar 132
     Creating 120, 140, 145
     Destroying 121
     Enabling, disabling 109
     Getting background colors 117
     Getting font 117
     Getting foreground colors 117
     Getting size, position 113-114, 135-137
     Getting text 109
     Getting window title 140
     Handles 105
     Hiding 110
     HWND_DESKTOP 62, 105
     HWND_OBJECT 62
     Inserting into task list 134
     Invalidating 118
     MsgPaint method 141
     Parent window 105
     Posting messages 107
     Registering 120
     Retrieving class name 112
     Sending messages 107
     Setting background color 115
     Setting class name 111
     Setting command table 122
     Setting focus 119
     Setting font 116
     Setting foreground color 114
     Setting message table 122
     Setting size, position 137-139, 146-147
     Setting text 108
     Setting window handle 106
     Setting window title 139
     Showing 110
     Standard creation flags 129
     Updating 111
     Window procedure 123
Workplace Shell viii, 16, 135, 327, 332

X
X Windows 68, 254