1290001Sglebius/* 2290001Sglebius * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") 3290001Sglebius * Copyright (C) 2000, 2001 Internet Software Consortium. 4290001Sglebius * 5290001Sglebius * Permission to use, copy, modify, and/or distribute this software for any 6290001Sglebius * purpose with or without fee is hereby granted, provided that the above 7290001Sglebius * copyright notice and this permission notice appear in all copies. 8290001Sglebius * 9290001Sglebius * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10290001Sglebius * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11290001Sglebius * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12290001Sglebius * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13290001Sglebius * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14290001Sglebius * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15290001Sglebius * PERFORMANCE OF THIS SOFTWARE. 16290001Sglebius */ 17290001Sglebius 18290001Sglebius/* $Id: keyboard.h,v 1.11 2007/06/19 23:47:19 tbox Exp $ */ 19290001Sglebius 20290001Sglebius#ifndef ISC_KEYBOARD_H 21290001Sglebius#define ISC_KEYBOARD_H 1 22290001Sglebius 23290001Sglebius/*! \file */ 24290001Sglebius 25290001Sglebius#include <termios.h> 26290001Sglebius 27290001Sglebius#include <isc/lang.h> 28290001Sglebius#include <isc/result.h> 29290001Sglebius 30290001SglebiusISC_LANG_BEGINDECLS 31290001Sglebius 32290001Sglebiustypedef struct { 33290001Sglebius int fd; 34290001Sglebius struct termios saved_mode; 35290001Sglebius isc_result_t result; 36290001Sglebius} isc_keyboard_t; 37290001Sglebius 38290001Sglebiusisc_result_t 39290001Sglebiusisc_keyboard_open(isc_keyboard_t *keyboard); 40290001Sglebius 41290001Sglebiusisc_result_t 42290001Sglebiusisc_keyboard_close(isc_keyboard_t *keyboard, unsigned int sleepseconds); 43290001Sglebius 44290001Sglebiusisc_result_t 45290001Sglebiusisc_keyboard_getchar(isc_keyboard_t *keyboard, unsigned char *cp); 46290001Sglebius 47290001Sglebiusisc_boolean_t 48290001Sglebiusisc_keyboard_canceled(isc_keyboard_t *keyboard); 49290001Sglebius 50290001SglebiusISC_LANG_ENDDECLS 51290001Sglebius 52290001Sglebius#endif /* ISC_KEYBOARD_H */ 53