Home GEMDOSGEMDOS C'Task RoyalC'Task Royal PowerDOSPowerDOS

5.20 NAP BioNet100

BioNet was a GEMDOS network extension from BIODATA GmbH.

Three functions are added to the GEMDOS, which allow the BioNet Client to communicate with a 'Nap' hosted by the Nap Server. A server can run multiple Nap, each of them is identified by a nap_handle associated to a internal NAP_COM structure.

Number Meaning
 
91 nap_io() Nap input/output
This function is the legacy function for bidirectional communication with the server. nap_io is divided into the nap_in_s and nap_out_s functions, which are executed one after the other.
The return value is the number of returned bytes.
 
Syntax:
int32_t gemdos( 91, int16_t nap_handle, int8_t *buf_out, int32_t len_out, int8_t *buf_in, int32_t len_in);
 
130 nap_in_s() Nap input
This function writes data to the server.
Returns the number of transferred bytes.
 
Syntax:
int32_t gemdos( 130, int16_t nap_handle, int32_t mode, int32_t count, int8_t *buffer);
 
131 nap_out_s() Nap output
This function reads data from the server.
Returns the number of transferred bytes.
 
Syntax:
int32_t gemdos( 131, int16_t nap_handle, int32_t mode, int32_t count, int8_t *buffer);
 

The mode parameter is stored into the field nap_wert by the server. Values from 0 to -9L are reserved by BioNet100. The client can set mode to a value less than -9L to acquire a lock, or to 0L to release the lock. If no transfer is required, count should be set to 0.

The NAP_COM structure is defined as follows:

typedef struct
{
  int16_t    nap_handle;   /* Nap handle that identifies a program   */
  int32_t    nummer;       /* BioNet client number                   */
  int16_t    status;       /* Status of the client                   */
                           /*   Bit 0: nap_in_s is active            */
                           /*   Bit 1: nap_out_s is active           */
                           /*   Bit 2: first data burst              */
                           /*   Bit 3: last data burst               */
                           /*   Bit 4: fatal error                   */
  int32_t    ret_wert;     /* If bit 4 of status is set, specifies   */
                           /* the message sent to the client:        */
                           /*   0 = 'Cant repair protocoll-error...' */
                           /*   1 = 'Repairing protocoll-error...'   */
  int32_t    nap_wert;     /* If nonzero, prevents other client to   */
                           /* communicate with this Nap. By default, */
                           /* set to nummer. This value is returned  */
                           /* as error-code to other client          */
  int8_t    *in_buffer;    /* Pointer to the data buffer that holds  */
                           /* either the data to read from nap_in_s, */
                           /* or command data for nap_out_s          */
  int8_t    *out_buffer;   /* Pointer to the data buffer that holds  */
                           /* the data to send to the client through */
                           /* nap_out_s.                             */
  int32_t    ges_count;    /* Total number of data to send/receive   */
  int32_t    akt_count;    /* Current number of data to send/receive */
}

Note: The BioNet server complies to the XBRA protocol with ID 'BioS'.

Querverweis: GEMDOS   BIOS-Funktionsliste   XBIOS-Funktionsliste


Home GEMDOSGEMDOS C'Task RoyalC'Task Royal PowerDOSPowerDOS