Bill Pemberton | 0b52b74 | 2012-09-20 16:55:27 -0400 | [diff] [blame] | 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 | |
| 16 | struct 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 | |
| 45 | struct 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 | ************************************************************************/ |
| 80 | struct 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 */ |