OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Tue, 08 Jul 2008 16:57:28 GMT
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Quick Links

Download

SCTP

SIGTRAN

SS7

Hardware

STREAMS

Asterisk

Related

Package

Manual

FAQ

Man Pages

Applications

SS7 Stack

ISDN Stack

SIGTRAN Stack

VoIP Stack

MG Stack

SS7/ISDN Devices

IP Transport

Embedded Systems

OS

Documentation

FAQ

SIGTRAN

Design

Conformance

Performance

References

Man Pages

Manuals

Papers

Home

Overview

Status

Documentation

Resources

About

News

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


NPIAPI

Section: OpenSS7 NPI API Library (3)
Updated: Tue, 27 Jun 2017 10:39:36 GMT
Index Return to Main Contents

NAME

npiapi, libnpiapi - NPI API Library

INTERFACE

NPI[1] Application Program Interface[2].
GCOM, Inc., specific and proprietary.

LIBRARY

libnpiapi(3), the NPI API Library.

SYNOPSIS

#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/stropts.h>
#include <sys/npi.h>
#include <npiapi.h>

char *npi_ascii_facil(intfref, char*fval, unsignedintflgth, intmarker);
int npi_bind_ascii_nsap(intnpi_data, char*bind_ascii_nsap, intconind_nr, unsignedflags);
int npi_bind_nsap(intnpi_data, char*bind_sap, intnsap_lgth, intconind_nr, unsignedflags);
int npi_conn_res(intnpi_data, N_conn_ind_t*c, longtknval);
int npi_connect(char*remote_asp, unsignedbind_flags);
int npi_connect_req(intnpi_data, char*peer_sap, char*buf, intcnt);
int npi_connect_wait(intnpi_data);
int npi_datack_req(intnpi_data);
void npi_decode_ctl(char*p);
char *npi_decode_primitive(longprimitive);
char *npi_decode_reason(longreason);
int npi_discon_req(intnpi_data, intreason, char*buf, intcnt);
int npi_discon_req_seq(intnpi_data, intreason, longseq, char*buf, intcnt);
int npi_ext_bind_nsap(intnpi_data, char*nsap, intnsap_lgth, char*rem_nsap, intrem_lgth, longlpa, intconind_nr, unsignedintflags);
int npi_ext_bind_nsap_ascii(intnpi_data, char*nsap, char*rem_nsap, longlpa, intconind_nr, unsignedintflags);
int npi_ext_connect_req(intnpi_data, char*peer_sap, char*buf, intcnt, char*fac_ptr, intfac_cnt);
int npi_ext_connect_wait(intlisten_fid, char*fac_ptr, intfac_cnt);
int npi_ext_conn_res(intnpi_data, N_conn_ind_t*c, longtknval, char*fac_ptr, intfac_cnt);
int npi_ext_listen(char*nsap, unsignedintfork_optns, char*fac_ptr, intfac_cnt);
int npi_ext_nbio_complete_listen(intlisten_fid, intoptions, char*fac_ptr, intfac_cnt);
int npi_fac_walk(char*facp, unsignedintfacl, facil_proc_t*fcn);
int npi_flags_connect_wait(intlisten_fid, char*fac_ptr, intfac_cnt, intbind_flags);
int npi_flags_listen(char*nsap, unsignedintfork_optns, char*fac_ptr, intfac_cnt, intbind_flags);
int npi_flow_req(intnpi_data, unsignedlongflow_incr);
int npi_get_a_msg(intnpi_data, char*buf, intcnt);
int npi_get_a_proto(intnpi_data);
int npi_get_and_log_facils(intnpi_data);
int npi_get_facils(intnpi_data, char*fac_ptr, intfac_cnt);
int npi_info_req(intstrm);
int npi_init(unsignedintlog_optns, char*log_name);
int npi_init_FILE(unsignedintlog_optns, FILE*log_FILE);
int npi_listen(char*nsap, unsignedintfork_optns);
int npi_max_sdu(intnpi_data);
int npi_nbio_complete_listen(intlisten_fd, intoptions);
int npi_open_data(void);
void npi_perror(char*msg);
void npi_print_msg(unsignedchar*p, unsignedn, intindent);
void npi_printf(char*fmt, ...);
int npi_put_data_buf(intnpi_data, intlgth);
int npi_put_data_proto(intnpi_data, char*data_ptr, intdata_lgth, longflags);
int npi_put_exdata_proto(intnpi_data, char*data_ptr, intdata_lgth);
int npi_put_proto(intnpi_data, intlgth);
int npi_rcv(intnpi_data, char*buf, intcnt, longflags_in, long*flags_out);
int npi_read_data(intnpi_data, char*buf, intcnt);
int npi_reset_req(intnpi_data);
int npi_reset_res(intnpi_data);
int npi_send_connect_req(intnpi_data, char*peer_sap, char*buf, intcnt);
int npi_send_ext_connect_req(intnpi_data, char*peer_sap, char*buf, intcnt, char*fac_ptr, intfac_cnt);
int npi_send_info_req(intnpi_data);
int npi_send_reset_req(intnpi_data);
int npi_send_reset_res(intnpi_data);
int npi_set_log_size(longnbytes);
int npi_set_marks(intfid, unsignedintrd_lo_make, unsignedintrd_hi_mark, unsignedintwr_lo_mark, unsignedintwr_hi_mark);
int npi_set_pid(intfid);
int npi_set_signal_handling(intfid, npi_sig_func_tfunc, intsig_num, intprimitive_mask);
int npi_want_a_proto(intnpi_data, intproto_type);
int npi_write_data(intnpi_data, char*buf, intcnt);
char *npi_x25_clear_cause(intcause);
char *npi_x25_diagnostic(intdiagnostic);
char *npi_x25_registration_cause(intcause);
char *npi_x25_reset_cause(intcause);
char *npi_x25_restart_cause(intcause);
int put_npi_proto(intfid, intlen);
char *pu_decode_handle(unsignedlongpu_handle);
int pu_dlpi_upa(intboard, intport, intstation, int*upa_ptr);
int pu_get_pu_id(intboard, intport, intstation, int*pu_id_ptr, unsignedlong*pu_hndl_ptr);
int pu_get_stats(unsignedlongpu_handle, intpu_id, int*pu_up_down_ptr, int*link_state_ptr, int*modem_state_ptr);
int pu_get_board_info(unsignedlongpu_handle, intpu_id, int*board_ptr, int*port_ptr);
int pu_id_to_pu_handle(intpu_id, unsignedlong*pu_handle_ptr);
int pu_id_to_pu_number(unsignedlongpu_id);
int pu_map_npi_lpa_to_handle(intnpi_lpa, int*pu_id_ptr, unsignedlonghandle_ptr);
int pu_strerror(intpu_errnum);

OVERVIEW

libnpiapi
is an OpenSS7 implementation of the GCOM CDI API Library[2] for Linux Fast-STREAMS.

DESCRIPTION

The NPI API Library is a library of NPI helper and utility functions designed for use with the Network Provider Interface (NPI)[1], npi(7). The original library was designed by GCOM, Inc., <http://www.gcom.com/>, and first documented[2] in 1995.

The NPI API Library documented here is the OpenSS7 implementation of a library intended on being a work-alike with the GCOM library in accordance with the GCOM documentation[2].

FUNCTIONS

libnpiapi implements the following NPI API library functions:

npi_ascii_facil(3)-some description.
npi_bind_ascii_nsap(3)-some description.
npi_bind_nsap(3)-some description.
npi_conenct(3)-some description.
npi_connect_req(3)-some description.
npi_connect_wait(3)-some description.
npi_conn_res(3)-some description.
npi_datack_req(3)-some description.
npi_decode_ctl(3)-some description.
npi_decode_primitive(3)-some description.
npi_decode_reason(3)-some description.
npi_discon_req(3)-some description.
npi_discon_req_seq(3)-some description.
npi_ext_bind_nsap(3)-some description.
npi_ext_bind_nsap_ascii(3)-some description.
npi_ext_connect_req(3)-some description.
npi_ext_connect_wait(3)-some description.
npi_ext_conn_res(3)-some description.
npi_ext_listen(3)-some description.
npi_ext_nbio_complete_listen(3)-some description.
npi_fac_walk(3)-some description.
npi_flags_connect_wait(3)-some description.
npi_flags_listen(3)-some description.
npi_flow_req(3)-some description.
npi_get_a_msg(3)-some description.
npi_get_and_log_facils(3)-some description.
npi_get_a_proto(3)-some description.
npi_get_facils(3)-some description.
npi_info_req(3)-some description.
npi_init(3)-some description.
npi_init_FILE(3)-some description.
npi_listen(3)-some description.
npi_max_sdu(3)-some description.
npi_nbio_complete_listen(3)-some description.
npi_open_data(3)-some description.
npi_perror(3)-some description.
npi_printf(3)-some description.
npi_print_msg(3)-some description.
npi_put_data_buf(3)-some description.
npi_put_data_proto(3)-some description.
npi_put_proto(3)-some description.
npi_rcv(3)-some description.
npi_read_data(3)-some description.
npi_reset_req(3)-some description.
npi_reset_res(3)-some description.
npi_send_connect_req(3)-some description.
npi_send_ext_connect_req(3)-some description.
npi_send_info_req(3)-some description.
npi_send_reset_req(3)-some description.
npi_set_log_size(3)-some description.
npi_set_marks(3)-some description.
npi_set_pid(3)-some description.
npi_set_signal_handling(3)-some description.
npi_want_a_proto(3)-some description.
npi_write_data(3)-some description.
npi_x25_clear_cause(3)-some description.
npi_x25_diagnostic(3)-some description.
npi_x25_reset_cause(3)-some description.
npi_x25_restart_cause(3)-some description.
put_npi_proto(3)-some description.
pu_decode_handle(3)-some description.
pu_dlpi_upa(3)-some description.
pu_get_board_info(3)-some description.
pu_get_pu_id(3)-some description.
pu_get_stats(3)-some description.
pu_id_to_pu_handle(3)-some description.
pu_id_to_pu_number(3)-some description.
pu_map_npi_lpa_to_handle(3)-some description.
pu_strerror(3)-some description.

USAGE

To use the NPI API Library, include <sys/npi.h> and <npiapi.h> header files in C language programs. Add the `-lnpiapi' flag to the linker command when linking C language programs that use this library.

MT CONTEXT

The The OpenSS7 Project implementation of the CDI API Library is fully thread-safe. The variables documented as global are instead contained in thread-specific data.

RETURN

Most function call return zero (0) on success and minus one (-1) on error.

ERRORS

When most functions fail, they return minus one (-1) and set the global errno(3) variable to an appropriate error code.

NOTICES

The NPI API Library is GCOM-specific[2]. It may be necessary to define the `C' preprocessor symbol, _GCOM_SOURCE, before including the <sys/npi.h> header file to expose the symbolic constants, data structures and declarations necessary for the use of these functions. It may be necessary to include the <npiapi.h> header file to expose the symbolic constants, data structures and declarations necessary for the user of these functions.

FILES

@includedir@/OpenSS7/sys/npi.h
the standard NPI[1] header file.
@includedir@/OpenSS7/npiapi.h
the GCOM-specific header file.
@libdir@/libnpiapi.a
the static library version of the NPI API Library.
@libdir@/libnpiapi.so
the shared object library version of the NPI API Library.

BUGS

The NPI API Library has no known bugs.

SEE ALSO

npi(7), cdiapi(3), dlpiapi(3), npiapi(3), STREAMS(9).

COMPATIBILITY

The OpenSS7 NPI API library is compatible with documentation of the GCOM NPI API library[2] and applications based on the NPI API, with the following compatibility considerations:

---
Application programming interfaces for devices and modules that implement the Network Provider Interface (NPI)[1], npi(7), have not been subjected to standardization and are, therefore, inherently non-portable. Portable STREAMS applications, drivers and modules will utilize the service primitive interface directly using putmsg(2s), getmsg(2s), write(2s), read(2s) and ioctl(2s) system calls and the definitions provided in the <sys/npi.h> header file.
---
NPI API Library functions are GCOM-specific[2], and are provided only for porting GCOM applications, drivers and modules to Linux Fast-STREAMS. They are inherently non-portable. These functions will be avoided by portable NPI application programs, drivers and modules.
---
Binary compatibility is not attempted, only source compatibility: any binary compatibility experienced is coincidental and may change on a future release.

It may be necessary to recompile all applications programs, and STREAMS drivers and modules, that share definitions with the NPI API library through the <npiapi.h> header file, using The OpenSS7 Project supplied header files.

---
The The OpenSS7 Project implementation of the NPI API Library is designed to be fully thread-safe. When used in a POSIX threads environment, the implementation is not expected to be bug-for-bug compatible with the GCOM implementation, which does not document interactions with multi-threaded programs.

For further compatibility information, see npi(7) and STREAMS(9).

CONFORMANCE

NPI[1], NPI API documentation[2].

HISTORY

NPI first appeared in SVR 4[3].

NPI API documentation[2] was first issued by GCOM in 1995.

VERSIONS

This manual page was written for the The OpenSS7 Project version of the NPI API Library.

REFERENCES

[1]
NPI, Open Group CAE Specification: Network Provider Interface (NPI) Specification, Revision 2.0.0, Draft 2, August 17, 1992, (Parsippany, New Jersey), UNIXInternational,Inc., UNIX International Press. <http://www.openss7.org/docs/npi.pdf>
[2]
NPI-API, NPI --- Application Program Interface Guide, Original Edition, 1995, April 1998, (Savoy, IL), S. D. Smith, D. Grothe, D. Healy and C. Lipp, GCOM. <http://www.gcom.com/>
[3]
SVR 4, UNIX® System V Release 4 Programmer's Manual, 1990, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.

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

The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Tue, 27 Jun 2017 10:39:36 GMT.

Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)



Index

NAME
INTERFACE
LIBRARY
SYNOPSIS
OVERVIEW
DESCRIPTION
FUNCTIONS
USAGE
MT CONTEXT
RETURN
ERRORS
NOTICES
FILES
BUGS
SEE ALSO
COMPATIBILITY
CONFORMANCE
HISTORY
VERSIONS
REFERENCES
TRADEMARKS
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 10:39:36 GMT, June 27, 2017
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Last modified: Tue, 08 Jul 2008 16:57:28 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.