HP Rp7410 BSD Sockets Interface Programmer's Guide - Page 179

Library Equivalencies, Signal Calls, Sprintf Return Value

Page 179 highlights

Table 8-4 NOTE Programming Hints Portability Issues Utmp The 4.3 BSD /etc/utmp file format is incompatible with the HP-UX implementation. The HP-UX implementation uses UNIX System V compatible calls. Refer to the utmp(4) man page for details. Library Equivalencies Certain commonly used library calls in 4.3 BSD are not present in HPUX systems, but they do have HP-UX equivalents. To make code porting easier, use the following equivalent library calls. You can do this by putting them in an include file, or by adding the define statements (listed in the following table) to your code. Definition of Library Equivalents Define Statement 4.3 BSD Library HP-UX Library #define #define #define #define #define #define index(a,b) rindex(a,b) bcmp(a,b,c) bcopy(a,b,c) bzero(a,b) getwd(a) strchr(a,b) strrchr(a,b) memcmp(a,b,c) memcpy(b,a,c) memset(a,0,b) getcwd(a,MAXPATHLEN) Include string.h before using strchr and strrchr. Include sys/ param.h before using getcwd. Signal Calls Normal HP-UX signal calls are different from 4.3 BSD signals. See the sigvector(2) man page for information on signal implementation. Sprintf Return Value For 4.3 BSD, sprintf returns a pointer to a string. For HP-UX systems, sprintf returns a count of the number of characters in the buffer. Chapter 8 179

  • 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
179
Programming Hints
Portability Issues
Utmp
The 4.3 BSD
/etc/utmp
file format is incompatible with the HP-UX
implementation. The HP-UX implementation uses UNIX System V
compatible calls. Refer to the
utmp(4)
man page for details.
Library Equivalencies
Certain commonly used library calls in 4.3 BSD are not present in HP-
UX systems, but they do have HP-UX equivalents. To make code porting
easier, use the following equivalent library calls. You can do this by
putting them in an include file, or by adding the define statements (listed
in the following table) to your code.
Table 8-4
Definition of Library Equivalents
NOTE
Include
string.h
before using
strchr
and
strrchr
. Include
sys/
param.h
before using
getcwd
.
Signal Calls
Normal HP-UX signal calls are different from 4.3 BSD signals. See the
sigvector(2)
man page for information on signal implementation.
Sprintf Return Value
For 4.3 BSD,
sprintf
returns a pointer to a string. For HP-UX systems,
sprintf returns a count of the number of characters in the buffer.
Define
Statement
4.3 BSD Library
HP-UX Library
#define
index(a,b)
strchr(a,b)
#define
rindex(a,b)
strrchr(a,b)
#define
bcmp(a,b,c)
memcmp(a,b,c)
#define
bcopy(a,b,c)
memcpy(b,a,c)
#define
bzero(a,b)
memset(a,0,b)
#define
getwd(a)
getcwd(a,MAXPATHLEN)