linux/drivers/staging/dgrp/digirp.h
<<
>>
Prefs
   1/************************************************************************
   2 * HP-UX Realport Daemon interface file.
   3 *
   4 * Copyright (C) 1998, by Digi International.  All Rights Reserved.
   5 ************************************************************************/
   6
   7#ifndef _DIGIDRP_H
   8#define _DIGIDRP_H
   9
  10/************************************************************************
  11 * This file contains defines for the ioctl() interface to
  12 * the realport driver.   This ioctl() interface is used by the
  13 * daemon to set speed setup parameters honored by the driver.
  14 ************************************************************************/
  15
  16struct link_struct {
  17        int lk_fast_rate;  /* Fast line rate to be used
  18                              when the delay is less-equal
  19                              to lk_fast_delay */
  20
  21        int lk_fast_delay; /* Fast line rate delay in
  22                              milliseconds */
  23
  24        int lk_slow_rate;  /* Slow line rate to be used when
  25                              the delay is greater-equal
  26                              to lk_slow_delay */
  27
  28        int lk_slow_delay; /* Slow line rate delay in
  29                              milliseconds */
  30
  31        int lk_header_size; /* Estimated packet header size
  32                               when sent across the slowest
  33                               link.  */
  34};
  35
  36#define DIGI_GETLINK    _IOW('e', 103, struct link_struct)      /* Get link parameters */
  37#define DIGI_SETLINK    _IOW('e', 104, struct link_struct)      /* Set link parameters */
  38
  39
  40/************************************************************************
  41 * This module provides application access to special Digi
  42 * serial line enhancements which are not standard UNIX(tm) features.
  43 ************************************************************************/
  44
  45struct  digiflow_struct {
  46        unsigned char   startc;                         /* flow cntl start char */
  47        unsigned char   stopc;                          /* flow cntl stop char  */
  48};
  49
  50/************************************************************************
  51 * Values for digi_flags
  52 ************************************************************************/
  53#define DIGI_IXON       0x0001          /* Handle IXON in the FEP       */
  54#define DIGI_FAST       0x0002          /* Fast baud rates              */
  55#define RTSPACE         0x0004          /* RTS input flow control       */
  56#define CTSPACE         0x0008          /* CTS output flow control      */
  57#define DSRPACE         0x0010          /* DSR output flow control      */
  58#define DCDPACE         0x0020          /* DCD output flow control      */
  59#define DTRPACE         0x0040          /* DTR input flow control       */
  60#define DIGI_COOK       0x0080          /* Cooked processing done in FEP */
  61#define DIGI_FORCEDCD   0x0100          /* Force carrier                */
  62#define DIGI_ALTPIN     0x0200          /* Alternate RJ-45 pin config   */
  63#define DIGI_AIXON      0x0400          /* Aux flow control in fep      */
  64#define DIGI_PRINTER    0x0800          /* Hold port open for flow cntrl */
  65#define DIGI_PP_INPUT   0x1000          /* Change parallel port to input */
  66#define DIGI_422        0x4000          /* Change parallel port to input */
  67#define DIGI_RTS_TOGGLE 0x8000          /* Support RTS Toggle            */
  68
  69
  70/************************************************************************
  71 * Values associated with transparent print
  72 ************************************************************************/
  73#define DIGI_PLEN       8               /* String length */
  74#define DIGI_TSIZ       10              /* Terminal string len */
  75
  76
  77/************************************************************************
  78 * Structure used with ioctl commands for DIGI parameters.
  79 ************************************************************************/
  80struct digi_struct {
  81        unsigned short  digi_flags;             /* Flags (see above)    */
  82        unsigned short  digi_maxcps;            /* Max printer CPS      */
  83        unsigned short  digi_maxchar;           /* Max chars in print queue */
  84        unsigned short  digi_bufsize;           /* Buffer size          */
  85        unsigned char   digi_onlen;             /* Length of ON string  */
  86        unsigned char   digi_offlen;            /* Length of OFF string */
  87        char            digi_onstr[DIGI_PLEN];  /* Printer on string    */
  88        char            digi_offstr[DIGI_PLEN]; /* Printer off string   */
  89        char            digi_term[DIGI_TSIZ];   /* terminal string      */
  90};
  91
  92/************************************************************************
  93 * Ioctl command arguments for DIGI parameters.
  94 ************************************************************************/
  95/* Read params */
  96#define DIGI_GETA       _IOR('e', 94, struct digi_struct)
  97
  98/* Set params */
  99#define DIGI_SETA       _IOW('e', 95, struct digi_struct)
 100
 101/* Drain & set params   */
 102#define DIGI_SETAW      _IOW('e', 96, struct digi_struct)
 103
 104/* Drain, flush & set params */
 105#define DIGI_SETAF      _IOW('e', 97, struct digi_struct)
 106
 107/* Get startc/stopc flow control characters */
 108#define DIGI_GETFLOW    _IOR('e', 99, struct digiflow_struct)
 109
 110/* Set startc/stopc flow control characters */
 111#define DIGI_SETFLOW    _IOW('e', 100, struct digiflow_struct)
 112
 113/* Get Aux. startc/stopc flow control chars */
 114#define DIGI_GETAFLOW   _IOR('e', 101, struct digiflow_struct)
 115
 116/* Set Aux. startc/stopc flow control chars */
 117#define DIGI_SETAFLOW   _IOW('e', 102, struct digiflow_struct)
 118
 119/* Set integer baud rate */
 120#define DIGI_SETCUSTOMBAUD      _IOW('e', 106, int)
 121
 122/* Get integer baud rate */
 123#define DIGI_GETCUSTOMBAUD      _IOR('e', 107, int)
 124
 125#define DIGI_GEDELAY    _IOR('d', 246, int)     /* Get edelay */
 126#define DIGI_SEDELAY    _IOW('d', 247, int)     /* Get edelay */
 127
 128
 129#endif /* _DIGIDRP_H */
 130