Manpage of AIXCOMPAT
Description: Manual Page
Keywords: ss7 ss7/ip ss7 over ip ss7 mtp ss7 sccp ss7 tcap sigtran mtp sccp tcap openss7 acb56 linux telephony pstn linux telephony linux nebs linux compactpci
AIXCOMPAT
Section: OpenSS7 STREAMS Compatibility DDI/DKI (9)
Updated: 2008-10-31
Index
Return to Main Contents
NAME
aixcompat
- AIX
STREAMS Compatibility
SYNOPSIS
#define _AIX_SOURCE
#include <sys/ddi.h>
OVERVIEW
OpenSS7 STREAMS Compatibility
provides a compatibility module,
streams-aixcompat
that provides compatibility functions that smooth porting of drivers from the
AIX 5L Version 5.1
STREAMS
environment to
OpenSS7 STREAMS Compatibility.
The functions provided by this compatibility module are described here.
DESCRIPTION
Many of the functions that are provided by
AIX®
are also provided by the core
streams
kernel module of
OpenSS7 STREAMS Compatibility.
Other
AIX®-specific
functions are provided by the
streams-aixcompat
compatibility kernel module.
Kernel Functions
Kernel functions available in
AIX®
that are already available in
Linux
are as follows:
-
atoi(3)-
convert a string to an integer
-
bcmp(3)-
compare byte strings
-
bcopy(3)-
copy byte strings
-
bzero(3)-
write zeros to a byte string
-
lbolt(9)-
time in ticks since reboot
-
memccpy(3)-
copy memory area
-
memchr(3)-
scan memory for a character
-
memcmp(3)-
compare memory areas
-
memcpy(3)-
copy memory area
-
memmove(3)-
copy memory area
-
memset(3)-
fill memory with a constant byte
-
ovbcopy(3)-
overlapping byte copy
-
splx(9)-
restore priority levels
-
strcat(3)-
concatenate two strings
-
strchr(3)-
locate character in string
-
strcmp(3)-
compare two strings
-
strcspn(3)-
search a string for a set of characters
-
strlen(3)-
calculate the length of a string
-
strncat(3)-
concatenate two strings
-
strncmp(3)-
compare two strings
-
strncpy(3)-
copy a string
-
strpbrk(3)-
search a string for any of a set of characters
-
strrchr(3)-
locate character in string
-
strspn(3)-
search a string for a set of characters
-
strstr(3)-
locate a substring
-
strtok(3)-
extract tokens from strings
-
time(9)-
time in seconds since epoch
STREAMS Functions
STREAMS
functions that are already available in
OpenSS7 STREAMS Compatibility
(in the core
streams
kernel module) are as follows:
-
adjmsg(9)-
trim bytes from the front or back of a STREAMS message
-
allocb(9)-
allocate a STREAMS message and data block
-
backq(9)-
find the upstream or downstream queue
-
bcanput(9)-
test flow control on a STREAMS message queue
-
bufcall(9)-
install a buffer callback
-
canput(9)-
test flow control on a message queue
-
copyb(9)-
copy a STREAMS message block
-
copymsg(9)-
copy a STREAMS message
-
datamsg(9)-
tests a STREAMS message type for data
-
dupb(9)-
duplicate a STREAMS message block
-
dupmsg(9)-
duplicate a STREAMS message
-
enableok(9)-
allows a STREAMS message queue to be scheduled
-
esballoc(9)-
allocate a STREAMS message and data block with a caller supplied data buffer
-
flushband(9)-
flushes band STREAMS messages from a message queue
-
flushq(9)-
flushes messages from a STREAMS message queue
-
freeb(9)-
frees a STREAMS message block
-
freemsg(9)-
frees a STREAMS message
-
getadmin(9)-
get the administration function pointer for a STREAMS module
-
getmid(9)-
get the STREAMS module id for a name
-
getq(9)-
gets a message from a STREAMS message queue
-
insq(9)-
inserts a message into a STREAMS message queue
-
linkb(9)-
link a message block to a STREAMS message
-
msgdsize(9)-
calculate the size of the data in a STREAMS message
-
noenable(9)-
disables a STREAMS message queue from being scheduled
-
OTHERQ(9)-
return the other queue of a STREAMS queue pair
-
pullupmsg(9)-
pull up the bytes in a STREAMS message
-
putbq(9)-
put a message back on a STREAMS message queue
-
putctl1(9)-
put a 1 byte control message on a STREAMS message queue
-
putctl(9)-
put a control message on a STREAMS message queue
-
putnext(9)-
put a message on the downstream STREAMS message queue
-
putq(9)-
put a message on a STREAMS message queue
-
qenable(9)-
schedules a STREAMS message queue service routine
-
qreply(9)-
replys to a message from a STREAMS message queue
-
qsize(9)-
return the number of messages on a queue
-
RD(9)-
return the read queue of a STREAMS queue pair
-
rmvb(9)-
remove a message block from a STREAMS message
-
rmvq(9)-
remove a message from a STREAMS message queue
-
splstr(9)-
set priority levels
-
splx(9)-
restore priority levels
-
strlog(9)-
pass a message to the STREAMS logger
-
strqget(9)-
gets information about a STREAMS message queue
-
testb(9)-
test if a STREAMS message can be allocated
-
timeout(9)-
start a timer
-
unbufcall(9)-
removes a STREAMS buffer callback
-
unlinkb(9)-
unlink a message block from a STREAMS message
-
untimeout(9)-
stop a timer
-
unweldq(9)-
unweld two queues
-
weldq(9)-
weld two (or four) queues together
-
WR(9)-
return the write queue of a STREAMS queue pair
MPS® Functions
AIX®
exposes a number of symbols from the underlying Mentat
MPS®
implementation that are also documented in the
AIX®
documentation.
STREAMS
functions that are available to
AIX®
in the
OpenSS7 STREAMS Compatibility
MPS®
compatibility module,
streams-mpscompat,
are as follows:
-
mi_bufcall(9)-
reliable alternative to bufcall(9)
-
mi_close_comm(9)-STREAMS common minor device close utility
-
mi_next_ptr(9)-STREAMS minor device list traversal
-
mi_open_comm(9)-STREAMS common minor device open utility
-
mi_prev_ptr(9)-STREAMS minor device list traversal
Specific STREAMS Functions
STREAMS
functions that are available in the
OpenSS7 STREAMS Compatibility
AIX®
compatibility module,
streams-aixcompat,
are as follows:
-
wantio(9)-
perform direct I/O from a STREAMS driver
-
wantmsg(9)-
provide a filter of wanted message for a STREAMS module
STREAMS Configuration and Registration Functions
Module and driver configuration functions that are available in the
OpenSS7 STREAMS Compatibility
AIX®
compatibility module,
streams-aixcompat,
are as follows:
-
str_install(9)-
install or uninstall a STREAMS driver or module
-
str_install_AIX(9)-
install or uninstall a STREAMS driver or module
MPS® Transport Functions
AIX®
exposes a number of symbols from the underlying Mentat
MPS®
TCP/IP implementation that are also documented in the
AIX®
documentation.
These transport functions are
not
part of the
OpenSS7 STREAMS Compatibility
package:
-
mi_tpi_ack_alloc(9)-
allocate a
T_OK_ACK(7)
or
T_ERROR_ACK(7)
-
mi_tpi_conn_con(9)-
generate a
T_CONN_CON(7)
-
mi_tpi_conn_ind(9)-
generate a
T_CONN_IND(7)
-
mi_tpi_conn_req(9)-
generate a
T_CONN_REQ(7)
-
mi_tpi_data_ind(9)-
generate a
T_DATA_IND(7)
-
mi_tpi_data_req(9)-
generate a
T_DATA_REQ(7)
-
mi_tpi_discon_ind(9)-
generate a
T_DISCON_IND(7)
-
mi_tpi_discon_req(9)-
generate a
T_DISCON_REQ(7)
-
mi_tpi_err_ack_alloc(9)-
allocate a
T_ERROR_ACK(7)
-
mi_tpi_exdata_ind(9)-
generate a
T_EXDATA_IND(7)
-
mi_tpi_exdata_req(9)-
generate a
T_EXDATA_REQ(7)
-
mi_tpi_info_req(9)-
generate a
T_INFO_REQ(7)
-
mi_tpi_ok_ack_alloc(9)-
allocate a
T_OK_ACK(7)
-
mi_tpi_ordrel_ind(9)-
generate a
T_ORDREL_IND(7)
-
mi_tpi_ordrel_req(9)-
generate a
T_ORDREL_REQ(7)
-
mi_tpi_uderror_ind(9)-
generate a
T_UDERROR_IND(7)
-
mi_tpi_unitdata_ind(9)-
generate a
T_UNITDATA_IND(7)
-
mi_tpi_unitdata_req(9)-
generate a
T_UNITDATA_REQ(7)
USAGE
For usage an example of the various functions, see the individual manual pages.
CONTEXT
These functions can be executed from various contexts as described in each separate manual page.
MP-STREAMS
Most of these functions are MP-safe; however,
AIX®
does not provide many of the
SVR 4.2 MP
functions, such as:
-
bcanputnext(9)-
test flow control on a STREAMS message queue
-
canputnext(9)-
test flow control on a STREAMS message queue
-
esbbcall(9)-
install a buffer callback for an extended STREAMS message block
-
freezestr(9)-
freeze the state of a stream queue
-
msgpullup(9)-
pull up bytes in a STREAMS message
-
put(9)-
invoke the put procedure for a STREAMS driver or module with a STREAMS message
-
putnextctl1(9)-
put a 1 byte control message on the downstream STREAMS message queue
-
putnextctl(9)-
put a control message on the downstream STREAMS message queue
-
qprocsoff(9)-
disables STREAMS message queue processing for multi-processing
-
qprocson(9)-
enables a STREAMS message queue for multi-processing
-
SAMESTR(9)-
test for STREAMS pipe or fifo
-
unfreezestr(9)-
thaw the state of a stream queue
Lack of these functions can make Multiprocessor (MP) support problematic.
Ported
AIX®
STREAMS
drivers and modules should always be loaded under
OpenSS7 STREAMS Compatibility
with multiprocessing disabled for safety.
NOTICES
_AIX_SOURCE
must be defined before including DDI/DKI include files to expose
AIX®-specific
symbols.
To use
AIX®-specific
functions,
OpenSS7 STREAMS Compatibility
must also have been compiled with
CONFIG_STREAMS_COMPAT_AIX
or
CONFIG_STREAMS_COMPAT_AIX_MODULE
defined.
When compiled with
CONFIG_STREAMS_COMPAT_AIX
defined,
AIX®
compatibility will become part of the
OpenSS7 STREAMS Compatibility
streams
kernel module.
When compiled with
CONFIG_STREAMS_COMPAT_AIX_MODULE
defined,
AIX®
compatibility will be placed in a separate
streams-aixcompat
kernel module that will demand load when any
STREAMS
driver or module that uses the
AIX®-specific
functions loads.
MPS®
functions used by
AIX®
are only be available from the
streams-mpscompat
compatibility module. See
mpscompat(9)
for more information on this module.
IMPLEMENTATION
Core functions are implemented within the
OpenSS7 STREAMS Compatibility
framework.
AIX®-specific
functions are implemented as described in the separate manual pages describing each facility.
All
AIX®-specific
functions are implemented.
SEE ALSO
Core functions:
adjmsg(9),
allocb(9),
backq(9),
bcanput(9),
bufcall(9),
canput(9),
copyb(9),
copymsg(9),
datamsg(9),
dupb(9),
dupmsg(9),
enableok(9),
esballoc(9),
flushband(9),
flushq(9),
freeb(9),
freemsg(9),
getadmin(9),
getmid(9),
getq(9),
insq(9),
linkb(9),
msgdsize(9),
noenable(9),
OTHERQ(9),
pullupmsg(9),
putbq(9),
putctl1(9),
putctl(9),
putnext(9),
putq(9),
qenable(9),
qreply(9),
qsize(9),
RD(9),
rmvb(9),
rmvq(9),
splstr(9),
splx(9),
strlog(9),
strqget(9),
testb(9),
timeout(9),
unbufcall(9),
unlinkb(9),
untimeout(9),
unweldq(9),
weldq(9),
WR(9).
Compatibility functions:
mi_bufcall(9),
mi_close_comm(9),
mi_next_ptr(9),
mi_open_comm(9),
mi_prev_ptr(9),
wantio(9),
wantmsg(9).
Configuration and Registration functions:
str_install(9),
str_install_AIX(9).
Transport functions:
mi_tpi_ack_alloc(9),
mi_tpi_conn_con(9),
mi_tpi_conn_ind(9),
mi_tpi_conn_req(9),
mi_tpi_data_ind(9),
mi_tpi_data_req(9),
mi_tpi_discon_ind(9),
mi_tpi_discon_req(9),
mi_tpi_err_ack_alloc(9),
mi_tpi_exdata_ind(9),
mi_tpi_exdata_req(9),
mi_tpi_info_req(9),
mi_tpi_ok_ack_alloc(9),
mi_tpi_ordrel_ind(9),
mi_tpi_ordrel_req(9),
mi_tpi_uderror_ind(9),
mi_tpi_unitdata_ind(9),
mi_tpi_unitdata_req(9),
mps_become_writer(9),
mps_intr_disable(9),
mps_intr_enable(9).
General:
STREAMS(9).
BUGS
The
AIX®
compatibility suite has no known bugs.
COMPATIBILITY
These functions are compatible with
AIX®
with the following portability considerations:
- ---
- Neither
AIX®-specific,
nor
MPS®,
functions should be used by portable
STREAMS
drivers and modules.
The more common
SVR 4.2 MP
functions should be used in their stead.
- ---
- AIX®-specific
functions are provided for source level compatibility with
AIX®
for the purpose of porting
AIX®
drivers to
Linux.
Because internal structures and definitions for
OpenSS7 STREAMS Compatibility[1]
differ from that of
AIX®,
binaries are incompatible.
- ---
- AIX®-specific
functions only provide functionality comparable to
AIX®
for use by
STREAMS
drivers and modules.
Any and all functionality provided by
AIX®-specific
functions in support of
non-STREAMS
devices are not supported.
See
STREAMS(9)
for additional compatibility considerations.
CONFORMANCE
AIX®
DDI documentation[2, 3].
HISTORY
Most of these functions
first appeared in
AIX®;
except functions with a name starting with
mi_.
Those starting with
mi_
are
MPS®
functions dating back to
pre-OSF/1
STREAMS
implementations.
REFERENCES
- [1]
- strcompat-0.9.2,
STREAMS Compatibility Modules (strcompat) 0.9.2 Source Code, Brian Bidulock, ed., OpenSS7 Corporation.
<http://www.openss7.org/>
- [2]
- AIX® 5L Version 5.1,
AIX 5L Version 5.1 Documentation, 2001, (Boulder, Colorado), Internatonal Business Machines Corp., IBM.
<http://publibn.boulder.ibm.com/>
- [3]
- AIX® 5L Version 5.1,
AIX STREAMS Programmers Guide, 2001, (Boulder, Colorado), Internatonal Business Machines Corp., IBM.
<http://publibn.boulder.ibm.com/>
TRADEMARKS
- OpenSS7tm
- is a trademark of OpenSS7 Corporation.
- Linux®
- is a registered trademark of Linus Torvalds.
- UNIX®
- is a registered trademark of The Open Group.
- Solaris®
- is a registered trademark of Sun Microsystems.
Other trademarks are the property of their respective owners.
IDENTIFICATION
-
OpenSS7 STREAMS Compatibility: Package strcompat version 0.9.2.7 released 2008-10-31.
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)
Index
- NAME
- SYNOPSIS
- OVERVIEW
- DESCRIPTION
- Kernel Functions
- STREAMS Functions
- MPS® Functions
- Specific STREAMS Functions
- STREAMS Configuration and Registration Functions
- MPS® Transport Functions
- USAGE
- CONTEXT
- MP-STREAMS
- NOTICES
- IMPLEMENTATION
- SEE ALSO
- BUGS
- COMPATIBILITY
- CONFORMANCE
- HISTORY
- REFERENCES
- TRADEMARKS
- IDENTIFICATION
This document was created by
man2html,
using the manual pages.
Time: 06:58:05 GMT, May 20, 2013