HP Rp5405 BSD Sockets Interface Programmer's Guide - Page 177

Portability Issues

Page 177 highlights

Programming Hints Portability Issues Portability Issues This section describes implementation differences between 4.3 BSD Sockets and HP-UX IPC. It contains porting issues for: • IPC functions and library calls. • Other functions and library calls typically used by IPC programs. Because HP-UX IPC is based on 4.3 BSD Sockets (it is a subset of 4.3 BSD), programs should port easily between HP-UX and 4.3 BSD systems. If you need to have portable applications, keep the information described in this appendix in mind when you write your IPC programs. Porting Issues for IPC Functions and Library Calls The following is a list of differences in IPC functions and library calls to watch out for if you want to port your IPC applications between HP-UX and 4.3 BSD systems. Shutdown When shutdown has been used on a datagram socket on an HP-UX system, the local port number bound to that socket remains unavailable for use until that socket has been destroyed by close. Some other systems free that port number for use immediately after the shutdown. In general, sockets should be destroyed by close (or by terminating the process) when they are no longer needed. This allows you to avoid unnecessary delay in deallocating local port numbers. Address Conversion Functions for DEC VAX Hosts The functions htonl, htons, ntonl and ntons are not required on HPUX systems. They are included for porting to a DEC VAX host. You can use these functions in your HP-UX programs for portability; they are defined as null macros on HP-UX systems, and are found in netinet/ in.h. Chapter 8 177

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196

Chapter 8
177
Programming Hints
Portability Issues
Portability Issues
This section describes implementation differences between 4.3 BSD
Sockets and HP-UX IPC. It contains porting issues for:
IPC functions and library calls.
Other functions and library calls typically used by IPC programs.
Because HP-UX IPC is based on 4.3 BSD Sockets (it is a subset of 4.3
BSD), programs should port easily between HP-UX and 4.3 BSD
systems. If you need to have portable applications, keep the information
described in this appendix in mind when you write your IPC programs.
Porting Issues for IPC Functions and Library
Calls
The following is a list of differences in IPC functions and library calls to
watch out for if you want to port your IPC applications between HP-UX
and 4.3 BSD systems.
Shutdown
When
shutdown
has been used on a datagram socket on an HP-UX
system, the local port number bound to that socket remains unavailable
for use until that socket has been destroyed by close.
Some other systems free that port number for use immediately after the
shutdown
. In general, sockets should be destroyed by
close
(or by
terminating the process) when they are no longer needed. This allows
you to avoid unnecessary delay in deallocating local port numbers.
Address Conversion Functions for DEC VAX Hosts
The functions
htonl
,
htons
,
ntonl
and
ntons
are not required on HP-
UX systems. They are included for porting to a DEC VAX host. You can
use these functions in your HP-UX programs for portability; they are
defined as null macros on HP-UX systems, and are found in
netinet/
in.h
.