/usr/include/irman.h is in libirman-dev 0.4.4-2build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128  | /* irman.h v0.4.2 (c) 1998-99 Tom Wheeley <tomw@tsys.demon.co.uk> */
/* this code is placed under the LGPL, see www.gnu.org for info   */
#ifndef IRMAN_H
#define IRMAN_H
/* number of bytes sent back from the IR interface */
#define IR_CODE_LEN			6
/* timing details. we have `SSEC' instead of `SEC' due to clashes with
 * some (ie Solaris) <time.h> definitions  */
#define SSEC	* 1000000
#define MSEC	* 1000
#define USEC
/* Assuming LONG_MAX to be 2,000,000,000, we have a maximum timeout of
 * approx 2,000s, ie over half an hour.  Plenty! (I should hope)
 */
/* time we allow the port to sort itself out with */ 
#define IR_POWER_ON_LATENCY		(50 MSEC)
/* gap between sending 'I' and 'R' */
#define IR_HANDSHAKE_GAP		(2000 USEC)
/* successive initial garbage characters should not be more than this apart */
#define IR_GARBAGE_TIMEOUT		(50 MSEC)
/* letters 'O' and 'K' should arrive within this */
#define IR_HANDSHAKE_TIMEOUT		(2 SSEC)
/* successive bytes of an ir pseudocode should arrive within this time limit */
#define IR_POLL_TIMEOUT			(1 MSEC)
/* double signals should be no less than this apart */
#define IR_DOUBLE_TIMEOUT		(200 MSEC)
/* timeout for blocking IO */
#define IR_BLOCKING			(-1)
/* return from ir_get_command() on error */
#define IR_CMD_ERROR			-1
#define IR_CMD_UNKNOWN			0
/* size of hash table in ircmd.c.  must be prime */
#define IR_HT_SIZE			271
/* size of string to hold default Irman port name, eg /dev/ttyS0 */
#define IR_PORTNAME_LEN			127
/* filename for system irmanrc */
#ifndef IR_SYSCONF_DIR
# define IR_SYSCONF_DIR			"/etc"
#endif
#define IR_SYSTEM_IRMANRC		IR_SYSCONF_DIR "/irman.conf"
/* filename for users irmanrc */
#define IR_USER_IRMANRC			".irmanrc"
/* messages printed by ir_ask_for_code() */
#define IR_ASK_GREETING	"please press the button for %s\n"
#define IR_ASK_REPEAT	"press %s again, to be sure...\n"
#define IR_ASK_OK	"Thankyou.\n"
#define IR_ASK_NOMATCH	"The two codes do not match.  "
#define ir_code_to_name(c)	ir_text_to_name(ir_code_to_text(c))
#define ir_name_to_code(n)	ir_text_to_code(ir_name_to_text(n))
/*
 *  errno codes
 */
 
#define IR_EENABLED	-1	/* ir routines already enabled */
#define IR_EDISABLED	-2	/* ir routines disabled */
#define IR_EHANDSHAKE	-3	/* error in handshake with Irman */
#define IR_EDUPCODE	-4	/* duplicate code received */ 
#define IR_EBADCMD	-11	/* bad command number */
#define IR_ENOKEY	-12	/* key does not exist */
#define IR_EDUPKEY	-13	/* key already exists */
/*
 * Function prototypes
 */
/* high level: ircmd.c */
int ir_init_commands(char *rcname, int warn);
char *ir_text_to_name(char *text);
char *ir_name_to_text(char *name);
int ir_bind(char *name, char *text);
int ir_alias(char *newname, char *name);
int ir_register_command(char *name, int command);
int ir_remove_command(char *name);
int ir_get_command(void);
int ir_poll_command(void);
void ir_free_commands(void);
unsigned char *ir_ask_for_code(char *name, int display);
void ir_set_cmd_enabled(int val);
char *ir_default_portname(void);
char *ir_strerror(int eno);
/* mid level: irfunc.c */
int ir_init(char *filename);
int ir_finish(void);
unsigned char *ir_get_code(void);
unsigned char *ir_poll_code(void);
int ir_valid_code(char *text);
char *ir_code_to_text(unsigned char *code);
unsigned char *ir_text_to_code(char *text);
void ir_set_enabled(int val);
/* low level: irio.c */
int ir_open_port(char *filename);
int ir_close_port(void);
int ir_write_char(unsigned char data);
int ir_read_char(long timeout);
void ir_clear_buffer(void);
void ir_usleep(unsigned long usec);
/* purely internal stuff */
#ifdef __IR
#else
#endif /* __IR */
#endif /* IRMAN_H */
/* end of irman.h */
 |