serial.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * serial port handler
  3. *
  4. * Copyright (c) 2009 Openmoko Inc.
  5. *
  6. * Authors Daniel Mack <daniel@caiaq.de>
  7. * Christopher Hall <hsw@openmoko.com>
  8. *
  9. * This program is free software: you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License as published by
  11. * the Free Software Foundation, either version 3 of the License, or
  12. * (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  21. */
  22. #if !defined(SERIAL_H)
  23. #define SERIAL_H 1
  24. void serial_init(void);
  25. typedef struct serial_buffer_struct serial_buffer_type;
  26. typedef void serial_callback_type(serial_buffer_type *buffer);
  27. struct serial_buffer_struct
  28. {
  29. char *text;
  30. size_t size;
  31. serial_buffer_type *link;
  32. serial_callback_type *callback;
  33. };
  34. void serial_put(serial_buffer_type *buffer);
  35. bool serial_output_pending(void);
  36. void serial_out(int port, char c);
  37. bool serial_event_pending(void);
  38. int serial_get_event(struct wl_input_event *ev);
  39. void serial_filled_0(void);
  40. void serial_drained_0(void);
  41. #endif