source: trunk/csctapi/io_serial.h@ 72

Last change on this file since 72 was 72, checked in by rorothetroll, 12 years ago

csctapi/io_serial.[c,h] : added the irdeto param to the IO_Serial_Set_Smartreader_Freq

as after talking to a contact, we thing we need to set NN to 1 for irdete (and 0 for seca).

File size: 3.6 KB
Line 
1/*
2 io_serial.h
3 Serial port input/output definitions
4
5 This file is part of the Unix driver for Towitoko smartcard readers
6 Copyright (C) 2000 Carlos Prados <cprados@yahoo.com>
7
8 This version is modified by doz21 to work in a special manner ;)
9
10 This library is free software; you can redistribute it and/or
11 modify it under the terms of the GNU Lesser General Public
12 License as published by the Free Software Foundation; either
13 version 2 of the License, or (at your option) any later version.
14
15 This library is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public
21 License along with this library; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23*/
24
25#ifndef _IO_SERIAL_
26#define _IO_SERIAL_
27
28#include "defines.h"
29
30#define IO_Serial_DTR_Set(io) IO_Serial_DTR_RTS(io, 1, 1)
31#define IO_Serial_DTR_Clr(io) IO_Serial_DTR_RTS(io, 1, 0)
32#define IO_Serial_RTS_Set(io) IO_Serial_DTR_RTS(io, 0, 1)
33#define IO_Serial_RTS_Clr(io) IO_Serial_DTR_RTS(io, 0, 0)
34/*
35 * Exported constants definition
36 */
37
38/* Type of parity of the serial device */
39#define IO_SERIAL_PARITY_ODD 1
40#define IO_SERIAL_PARITY_EVEN 2
41#define IO_SERIAL_PARITY_NONE 3
42
43/* Values for the modem lines */
44#define IO_SERIAL_HIGH 1
45#define IO_SERIAL_LOW 0
46
47/* Maximum size of PnP Com ID */
48#define IO_SERIAL_PNPID_SIZE 256
49
50/*
51 * Exported datatypes definition
52 */
53
54/* Settings than can be modified to the serial device */
55typedef struct
56{
57 unsigned long input_bitrate;
58 unsigned long output_bitrate;
59 unsigned bits;
60 unsigned stopbits;
61 int parity;
62 int dtr;
63 int rts;
64}
65IO_Serial_Properties;
66
67/* IO_Serial exported datatype */
68typedef struct
69{
70 int fd; /* Handle of the serial device */
71 IO_Serial_Properties * props;
72 unsigned com; /* Com port number (1..4) */
73 BYTE PnP_id[IO_SERIAL_PNPID_SIZE]; /* PnP Id of the serial device */
74 unsigned PnP_id_size; /* Length of PnP Id */
75 bool usbserial; /* Is serial USB device */
76 int wr;
77 int reader_type;
78}
79IO_Serial;
80
81/*
82 * Exported functions declaration
83 */
84
85/* IO_Serial creation and deletion */
86//extern void IO_Serial_Reopen (IO_Serial * io);
87extern void IO_Serial_Flush (IO_Serial * io);
88extern IO_Serial *IO_Serial_New (int reader_type);
89extern void IO_Serial_Delete (IO_Serial * io);
90
91/* Initialization and closing */
92extern bool IO_Serial_Init (IO_Serial * io, unsigned com, bool usbserial, bool pnp);
93extern bool IO_Serial_Close (IO_Serial * io);
94
95/* Transmission properties */
96extern bool IO_Serial_SetProperties (IO_Serial * io, IO_Serial_Properties * props);
97extern bool IO_Serial_GetProperties (IO_Serial * io, IO_Serial_Properties * props);
98extern bool IO_Serial_DTR_RTS(IO_Serial * io, int, int);
99#if defined(TUXBOX) && defined(PPC)
100extern void IO_Serial_Ioctl_Lock(IO_Serial *, int);
101#else
102#define IO_Serial_Ioctl_Lock(a, b) {}
103#endif
104
105/* Input and output */
106extern bool IO_Serial_Read (IO_Serial * io, unsigned timeout, unsigned size, BYTE * data);
107extern bool IO_Serial_Write (IO_Serial * io, unsigned delay, unsigned size, BYTE * data);
108
109/* Serial port atributes */
110extern unsigned IO_Serial_GetCom (IO_Serial * io);
111extern void IO_Serial_GetPnPId (IO_Serial * io, BYTE * pnp_id, unsigned *length);
112
113/* smartreader Frequency set */
114extern bool IO_Serial_Set_Smartreader_Freq(IO_Serial * io, int freq, int irdeto_mode);
115
116#endif /* IO_SERIAL */
Note: See TracBrowser for help on using the repository browser.