net: tcp_client_socket connection state routines
[quarnos.git] / resources / rs232.h
blob98780d994774528b02efcc21e88bf84df10a8335
1 /* Quarn OS
3 * RS232
5 * Copyright (C) 2008-2009 Pawel Dziepak
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #ifndef _RS232_H_
24 #define _RS232_H_
26 #include "stream.h"
27 #include "device.h"
28 #include "isa.h"
29 #include "arch/low/rs232.h"
31 namespace resources {
32 class rs232 : public dev_stream {
33 private:
34 /* some kind of buffer here */
36 isa_did isaaddr;
38 public:
39 typedef arch::parity_check parity_check;
40 typedef arch::rs232_mode rs232_mode;
42 void read(buffer &);
43 void write(const buffer &data);
44 void write_dwords(const int *, int);
46 void received(const char a);
48 //resource_result *configure(rs232_mode mode, int speed, int bits,
49 // parity_check parity, int stop);
51 bool init_device(p<did> iadr);
53 void set_ondatareceived(delegate<void>);
55 static bool check_device(p<did> id);
57 static void register_type();
61 #endif