Commit 2296e5a0 authored by Karsten Keil's avatar Karsten Keil Committed by David S. Miller

Add reference to CAPI 2.0 standard

Move the entry about CAPI 2.0 to the beginning and add a URL.
Incorporate changes suggested by Randy Dunlap, thanks for proofreading.
Signed-off-by: default avatarKarsten Keil <keil@b1-systems.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 554f200e
...@@ -3,6 +3,11 @@ Kernel CAPI Interface to Hardware Drivers ...@@ -3,6 +3,11 @@ Kernel CAPI Interface to Hardware Drivers
1. Overview 1. Overview
From the CAPI 2.0 specification:
COMMON-ISDN-API (CAPI) is an application programming interface standard used
to access ISDN equipment connected to basic rate interfaces (BRI) and primary
rate interfaces (PRI).
Kernel CAPI operates as a dispatching layer between CAPI applications and CAPI Kernel CAPI operates as a dispatching layer between CAPI applications and CAPI
hardware drivers. Hardware drivers register ISDN devices (controllers, in CAPI hardware drivers. Hardware drivers register ISDN devices (controllers, in CAPI
lingo) with Kernel CAPI to indicate their readiness to provide their service lingo) with Kernel CAPI to indicate their readiness to provide their service
...@@ -12,6 +17,9 @@ application registration to an available device, forwarding it to the ...@@ -12,6 +17,9 @@ application registration to an available device, forwarding it to the
corresponding hardware driver. Kernel CAPI then forwards CAPI messages in both corresponding hardware driver. Kernel CAPI then forwards CAPI messages in both
directions between the application and the hardware driver. directions between the application and the hardware driver.
Format and semantics of CAPI messages are specified in the CAPI 2.0 standard.
This standard is freely available from http://www.capi.org.
2. Driver and Device Registration 2. Driver and Device Registration
...@@ -53,12 +61,10 @@ open() operation on regular files or character devices. ...@@ -53,12 +61,10 @@ open() operation on regular files or character devices.
After a successful return from register_appl(), CAPI messages from the After a successful return from register_appl(), CAPI messages from the
application may be passed to the driver for the device via calls to the application may be passed to the driver for the device via calls to the
send_message() callback function. The CAPI message to send is stored in the send_message() callback function. The CAPI message to send is stored in the
data portion of a skb. Conversely, the driver may call Kernel CAPI's data portion of an skb. Conversely, the driver may call Kernel CAPI's
capi_ctr_handle_message() function to pass a received CAPI message to Kernel capi_ctr_handle_message() function to pass a received CAPI message to Kernel
CAPI for forwarding to an application, specifying its ApplID. CAPI for forwarding to an application, specifying its ApplID.
Format and semantics of CAPI messages are specified in the CAPI 2.0 standard.
Deregistration requests (CAPI operation CAPI_RELEASE) from applications are Deregistration requests (CAPI operation CAPI_RELEASE) from applications are
forwarded as calls to the release_appl() callback function, passing the same forwarded as calls to the release_appl() callback function, passing the same
ApplID as with register_appl(). After return from release_appl(), no CAPI ApplID as with register_appl(). After return from release_appl(), no CAPI
...@@ -75,9 +81,9 @@ the following non-private fields, all to be set by the driver before calling ...@@ -75,9 +81,9 @@ the following non-private fields, all to be set by the driver before calling
register_capi_driver(): register_capi_driver():
char name[32] char name[32]
the name of the driver, as a zero terminated ASCII string the name of the driver, as a zero-terminated ASCII string
char revision[32] char revision[32]
the revision number of the driver, as a zero terminated ASCII string the revision number of the driver, as a zero-terminated ASCII string
int (*add_card)(struct capi_driver *driver, capicardparams *data) int (*add_card)(struct capi_driver *driver, capicardparams *data)
a callback function pointer (may be NULL) a callback function pointer (may be NULL)
...@@ -100,10 +106,10 @@ void *driverdata ...@@ -100,10 +106,10 @@ void *driverdata
an opaque pointer to driver specific data, not touched by Kernel CAPI an opaque pointer to driver specific data, not touched by Kernel CAPI
char name[32] char name[32]
the name of the controller, as a zero terminated ASCII string the name of the controller, as a zero-terminated ASCII string
char *driver_name char *driver_name
the name of the driver, as a zero terminated ASCII string the name of the driver, as a zero-terminated ASCII string
int (*load_firmware)(struct capi_ctr *ctrlr, capiloaddata *ldata) int (*load_firmware)(struct capi_ctr *ctrlr, capiloaddata *ldata)
(optional) pointer to a callback function for sending firmware and (optional) pointer to a callback function for sending firmware and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment