Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ioctl(2)



  sb(7)                               CLIX                               sb(7)



  NAME

    sb - SDLC/BISYNC communication driver

  DESCRIPTION

    The sb driver supports communications with a VME board running Synchronous
    Data Link Control (SDLC) or BISYNC protocol.  All data transferred between
    the board and driver uses the ioctl() function.  The general format of the
    ioctl() function is as follows:

    ioctl(fildes, request, arg)

    The following is a list of requests supported by sb:

    S_GET        Receives data from the SDLC/BISYNC communication board.  The
                 ioctl()  function will return immediately, and if data is
                 present it is returned in the buffer pointed to by arg.  The
                 first two bytes of the data are an inclusive length.  If no
                 data is present, a -1 is returned with errno set to EBUSY.

    S_GIVE       Sends the buffer pointed to arg to the SDLC/BISYNC
                 communication board.  The first two bytes of data are an
                 inclusive length.

    S_SIGACK     Enables signal number arg.  The controlling process will
                 receive the signal specified by arg when data is present.

    S_RESET      Resets the SDLC/BISYNC communication board.  The arg
                 parameter is ignored.

    S_CHECKSUM   Computes and returns the checksum for the code loaded on the
                 SDLC/BISYNC communication board.  If the checksum is 0, the
                 load was successful.  The checksum is returned in an unsigned
                 short pointed to by arg.

    Additional requests use the following structure:

    typedef struct {
         char *b_addr;     /* pointer to data buffer */
         int  b_len;       /* byte length of data buffer */
         int  b_load_addr; /* buffer load address */
    } st_boot_rec;

    The b_addr member is a pointer to a data buffer to be sent to the
    SDLC/BISYNC communication board with length specified by b_len.  The
    memory address in the SDLC/BISYNC communication board to begin the load of
    the buffer is specified by b_load_addr.

    The requests that use this structure are as follows:




  2/94 - Intergraph Corporation                                              1






  sb(7)                               CLIX                               sb(7)



    S_HEADER     Sends a boot header to the SDLC/BISYNC communication board.
                 This is used to calculate information about the code to be
                 loaded.  The arg parameter points to a st_boot_rec structure.
                 The b_load_addr member is not used.

    S_BOOT_REC   Sends a data buffer containing code to the SDLC/BISYNC
                 communication board.  The arg parameter points to a
                 st_boot_rec structure.

  FILES

    /dev/sb?   Device files for the SDLC/BISYNC communication board

  CAUTIONS

    All data sent and received from the SDLC/BISYNC communication board must
    be 4K bytes or less and must be aligned on a 4-byte boundary.

  RELATED INFORMATION

    Functions:  ioctl(2)

































  2                                              Intergraph Corporation - 2/94




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026