| errors.h | | errors.h | |
|
| /* $Id: errors.h,v 1.10 1999/03/24 14:13:34 marcus Exp $ | | /* $Id$ | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| | | | |
| GGI error definitions | | GGI error definitions | |
| | | | |
| Copyright (C) 1998 Marcus Sundberg [marcus@ggi-project.org] | | Copyright (C) 1998 Marcus Sundberg [marcus@ggi-project.org] | |
| | | | |
| Permission is hereby granted, free of charge, to any person obtaining a | | Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"
), | | copy of this software and associated documentation files (the "Software"
), | |
| to deal in the Software without restriction, including without limitatio
n | | to deal in the Software without restriction, including without limitatio
n | |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, | | the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| | | | |
| skipping to change at line 53 | | skipping to change at line 53 | |
| | | | |
| #define GGI_ENOMEM -20 /* Out of memory */ | | #define GGI_ENOMEM -20 /* Out of memory */ | |
| #define GGI_ENOFILE -21 /* File does not exist */ | | #define GGI_ENOFILE -21 /* File does not exist */ | |
| #define GGI_ENODEVICE -22 /* Input/Output device can not be opened */ | | #define GGI_ENODEVICE -22 /* Input/Output device can not be opened */ | |
| #define GGI_EARGREQ -23 /* Required argument missing */ | | #define GGI_EARGREQ -23 /* Required argument missing */ | |
| #define GGI_EARGINVAL -24 /* Invalid argument(s) */ | | #define GGI_EARGINVAL -24 /* Invalid argument(s) */ | |
| #define GGI_ENOTALLOC -25 /* Trying to use or deallocate a resource th
at | | #define GGI_ENOTALLOC -25 /* Trying to use or deallocate a resource th
at | |
| was not previously allocated */ | | was not previously allocated */ | |
| #define GGI_EFATAL -26 /* Fatal error - the state of the target of | | #define GGI_EFATAL -26 /* Fatal error - the state of the target of | |
| the operation is undefined */ | | the operation is undefined */ | |
|
| | | #define GGI_EBADFILE -27 /* Error reading (config) file */ | |
| #define GGI_ELOCKBUSY -30 /* Lock is in use */ | | #define GGI_ENOSPACE -28 /* Out of space / range */ | |
| | | #define GGI_ENOFUNC -29 /* Function not implemented */ | |
| | | #define GGI_EBUSY -30 /* Object is busy */ | |
| #define GGI_ENOTFOUND -31 /* The requested object was not found */ | | #define GGI_ENOTFOUND -31 /* The requested object was not found */ | |
| #define GGI_EEXCLUSIVE -32 /* Tried to get non-exclusive access to obje
ct | | #define GGI_EEXCLUSIVE -32 /* Tried to get non-exclusive access to obje
ct | |
| which only supports exclusive access */ | | which only supports exclusive access */ | |
|
| | | #define GGI_ENOMATCH -33 /* No matching entry found */ | |
| | | | |
|
| #define GGI_EEVUNKNOWN -40 /* Unknown event sent to input source */ | | #define GGI_EEVUNKNOWN -40 /* Unknown event sent to or received from | |
| | | input source */ | |
| #define GGI_EEVNOTARGET -41 /* No apropriate target for sent eve
nt */ | | #define GGI_EEVNOTARGET -41 /* No apropriate target for sent eve
nt */ | |
| #define GGI_EEVOVERFLOW -42 /* Overflow when queuing event */ | | #define GGI_EEVOVERFLOW -42 /* Overflow when queuing event */ | |
| | | | |
| #define GGI_EUNKNOWN -99 /* Unknown error */ | | #define GGI_EUNKNOWN -99 /* Unknown error */ | |
| | | | |
| #endif /* _GGI_ERRORS_H */ | | #endif /* _GGI_ERRORS_H */ | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 8 lines changed or added | |
|
| events.h | | events.h | |
|
| /* $Id: events.h,v 1.23 1999/02/22 20:19:28 marcus Exp $ | | /* $Id: events.h,v 1.2 2003/04/13 02:23:12 ggibecka Exp $ | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| | | | |
| LibGII event definitions | | LibGII event definitions | |
| | | | |
| Copyright (C) 1995-1997 Steffen Seeger [seeger@ggi-project.org] | | Copyright (C) 1995-1997 Steffen Seeger [seeger@ggi-project.org] | |
| Copyright (C) 1998 Andrew Apted [andrew@ggi-project.org] | | Copyright (C) 1998 Andrew Apted [andrew@ggi-project.org] | |
| Copyright (C) 1998 Andreas Beck [becka@ggi-project.org] | | Copyright (C) 1998 Andreas Beck [becka@ggi-project.org] | |
| | | | |
| Permission is hereby granted, free of charge, to any person obtaining a | | Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"
), | | copy of this software and associated documentation files (the "Software"
), | |
| | | | |
| skipping to change at line 95 | | skipping to change at line 95 | |
| EVMASK(ValRelative), | | EVMASK(ValRelative), | |
| EVMASK(ValAbsolute), | | EVMASK(ValAbsolute), | |
| emValuator = emValRelative | emValAbsolute, | | emValuator = emValRelative | emValAbsolute, | |
| | | | |
| emZero = 0, | | emZero = 0, | |
| emAll = ((1 << evLast) - 1) & ~emNothing | | emAll = ((1 << evLast) - 1) & ~emNothing | |
| | | | |
| } gii_event_mask; | | } gii_event_mask; | |
| #undef EVMASK | | #undef EVMASK | |
| | | | |
|
| #define GII_EV_ORIGIN_NONE 0x00000000 /* Anonymous */ | | #define GII_EV_ORIGIN_NONE 0x00000000 /* Anonymous */ | |
| #define GII_EV_ORIGIN_SENDEVENT 0x80000000 /* Event was | | #define GII_EV_ORIGIN_SENDEVENT 0x80000000 /* Event was due to | |
| due to SendEvent call */ | | SendEvent call */ | |
| #define GII_EV_ORIGIN(id) (id) /* Otherwise, it's a | | #define GII_EV_ORIGIN(id) (id) /* Otherwise, it's an id */ | |
| n id */ | | | |
| | | | |
|
| #define GII_EV_TARGET_ALL 0x00000000 /* broadcast event * | | #define GII_EV_TARGET_ALL 0x00000000 /* Broadcast event */ | |
| / | | #define GII_EV_TARGET_QUEUE 0x80000000 /* Just queue the event */ | |
| | | | |
| #define COMMON_DATA \ | | #define COMMON_DATA \ | |
| uint8 size; /* size of event in bytes */\ | | uint8 size; /* size of event in bytes */\ | |
| uint8 type; /* type of this event */\ | | uint8 type; /* type of this event */\ | |
| sint16 error; /* error (for replies) */\ | | sint16 error; /* error (for replies) */\ | |
| uint32 origin; /* origin device (etc) */\ | | uint32 origin; /* origin device (etc) */\ | |
| uint32 target; /* target device (etc) */\ | | uint32 target; /* target device (etc) */\ | |
| struct timeval time /* timestamp */ | | struct timeval time /* timestamp */ | |
| | | | |
|
| /* this information is reported with all events. Use the <any> field | | /* This information is reported with all events. Use the <any> field | |
| ** in a gii_event structure to access these fields. | | ** in a gii_event structure to access these fields. | |
| */ | | */ | |
| typedef struct { | | typedef struct { | |
| | | | |
| COMMON_DATA; | | COMMON_DATA; | |
| | | | |
| } gii_any_event; | | } gii_any_event; | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Command/Information events | | Command/Information events | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
|
| #define GII_CMDFLAG_NODATA (1<<31) /* Event has no data */ | | #define GII_CMDFLAG_NODATA ((uint32)(1<<31)) /* Event has no data | |
| #define GII_CMDFLAG_PRIVATE (1<<30) /* The code is specific to a certain | | */ | |
| inputlib */ | | #define GII_CMDFLAG_PRIVATE ((uint32)(1<<30)) /* The code is spec | |
| #define GII_CMDFLAG_EXTERNAL (1<<29) /* Event is sent to/from an external | | ific to a certain | |
| system (like LibGGI) */ | | inputlib */ | |
| | | #define GII_CMDFLAG_EXTERNAL ((uint32)(1<<29)) /* Event is sent to/ | |
| | | from an external | |
| | | system (like LibG | |
| | | GI) */ | |
| | | | |
| /* These are used internally or to/from the application. | | /* These are used internally or to/from the application. | |
| The same event is used for both Command and Information events. | | The same event is used for both Command and Information events. | |
| The recipient must not store references to the data. If the data | | The recipient must not store references to the data. If the data | |
| information is needed afterwards, copy it! | | information is needed afterwards, copy it! | |
| */ | | */ | |
| | | | |
| typedef struct { | | typedef struct { | |
| | | | |
| COMMON_DATA; | | COMMON_DATA; | |
| | | | |
| skipping to change at line 156 | | skipping to change at line 158 | |
| | | | |
| COMMON_DATA; | | COMMON_DATA; | |
| | | | |
| uint32 code; /* command/request code */ | | uint32 code; /* command/request code */ | |
| uint8 data[GII_CMD_DATA_MAX]; /* command related data */ | | uint8 data[GII_CMD_DATA_MAX]; /* command related data */ | |
| | | | |
| } gii_cmd_event; | | } gii_cmd_event; | |
| | | | |
| /* This one is posted, if at least one event has been lost due to queue | | /* This one is posted, if at least one event has been lost due to queue | |
| overflow: */ | | overflow: */ | |
|
| #define GII_CMDCODE_EVENTLOST (0x01 | GII_CMDFLAG_NODATA) | | #define GII_CMDCODE_EVENTLOST ((uint32)0x01 | GII_CMDFLAG_NODATA) | |
| | | | |
| | | /* This event tell inputlibs that the application prefer absolute pointer | |
| | | events. */ | |
| | | #define GII_CMDCODE_PREFER_ABSPTR ((uint32)0x02 | GII_CMDFLAG_NODATA) | |
| | | | |
| | | /* This event tell inputlibs that the application prefer relative pointer | |
| | | events. */ | |
| | | #define GII_CMDCODE_PREFER_RELPTR ((uint32)0x03 | GII_CMDFLAG_NODATA) | |
| | | | |
| /* This event is sent/received to require/get the capabilities of a device | | /* This event is sent/received to require/get the capabilities of a device | |
| * as specified in target/origin. | | * as specified in target/origin. | |
| * An event stating num_buttons=num_axes=0 says, that the device is inactiv
e, | | * An event stating num_buttons=num_axes=0 says, that the device is inactiv
e, | |
| * unplugged, whatever. Devices automatically report (detectable) state | | * unplugged, whatever. Devices automatically report (detectable) state | |
| * changes via devinfo. But you need to re-query the valinfo records. | | * changes via devinfo. But you need to re-query the valinfo records. | |
| */ | | */ | |
|
| #define GII_CMDCODE_GETDEVINFO (0x01) | | #define GII_CMDCODE_GETDEVINFO ((uint32)0x01) | |
| typedef struct { | | typedef struct { | |
| | | | |
| char longname[75]; | | char longname[75]; | |
| char shortname[5]; | | char shortname[5]; | |
| | | | |
| gii_event_mask can_generate; | | gii_event_mask can_generate; | |
| | | | |
| uint32 num_buttons; /* Maximum number of buttons. */ | | uint32 num_buttons; /* Maximum number of buttons. */ | |
| uint32 num_axes; /* Maximum number of axes. */ | | uint32 num_axes; /* Maximum number of axes. */ | |
|
| | | | |
| } gii_cmddata_getdevinfo; | | } gii_cmddata_getdevinfo; | |
|
| | | #define GII_NUM_MAX 0xfffeffff /* If num_buttons or num_axes is | |
| | | more than this they should not | |
| | | be interpreted as absolute | |
| | | values (see below for what the | |
| | | y | |
| | | mean). */ | |
| | | #define GII_NUM_UNKNOWN 0xffffffff /* Number is unknown. */ | |
| | | | |
| typedef struct gii_valrange { | | typedef struct gii_valrange { | |
| sint32 min, center, max; | | sint32 min, center, max; | |
| } gii_valrange; | | } gii_valrange; | |
| | | | |
| typedef enum { | | typedef enum { | |
| GII_PT_UNKNOWN, /* unknown */ | | GII_PT_UNKNOWN, /* unknown */ | |
| GII_PT_TIME, /* base unit s */ | | GII_PT_TIME, /* base unit s */ | |
| GII_PT_FREQUENCY, /* base unit 1/s (Hz) */ | | GII_PT_FREQUENCY, /* base unit 1/s (Hz) */ | |
| GII_PT_LENGTH, /* base unit m */ | | GII_PT_LENGTH, /* base unit m */ | |
| | | | |
| skipping to change at line 211 | | skipping to change at line 226 | |
| GII_PT_VOLTAGE, /* base unit V (kg*m^2/(As^3)) */ | | GII_PT_VOLTAGE, /* base unit V (kg*m^2/(As^3)) */ | |
| GII_PT_RESISTANCE, /* base unit V/A (Ohm) */ | | GII_PT_RESISTANCE, /* base unit V/A (Ohm) */ | |
| GII_PT_CAPACITY, /* base unit As/V (Farad) */ | | GII_PT_CAPACITY, /* base unit As/V (Farad) */ | |
| GII_PT_INDUCTIVITY, /* base unit Vs/A (Henry) */ | | GII_PT_INDUCTIVITY, /* base unit Vs/A (Henry) */ | |
| GGI_PT_LAST | | GGI_PT_LAST | |
| } gii_phystype; | | } gii_phystype; | |
| | | | |
| /* This event is sent/received to require/get detailed data about valuator | | /* This event is sent/received to require/get detailed data about valuator | |
| * axis. | | * axis. | |
| */ | | */ | |
|
| #define GII_CMDCODE_GETVALINFO (0x02) | | #define GII_CMDCODE_GETVALINFO ((uint32)0x02) | |
| typedef struct { | | typedef struct { | |
| | | | |
| uint32 number; /* Number of the valuator */ | | uint32 number; /* Number of the valuator */ | |
| /* You may send this to get all valuators at once. Not recommended. */ | | /* You may send this to get all valuators at once. Not recommended. */ | |
| #define GII_VAL_QUERY_ALL 0xffffffff | | #define GII_VAL_QUERY_ALL 0xffffffff | |
| | | | |
| char longname[75]; | | char longname[75]; | |
| char shortname[5]; | | char shortname[5]; | |
| | | | |
| gii_valrange range; | | gii_valrange range; | |
| | | | |
End of changes. 10 change blocks. |
| 18 lines changed or deleted | | 35 lines changed or added | |
|
| gg.h | | gg.h | |
|
| /* $Id: gg.h,v 1.14 1999/03/24 14:13:54 marcus Exp $ | | /* $Id: gg.h,v 1.14.2.1 2004/10/18 15:15:54 cegger Exp $ | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| | | | |
| LibGG - API header file | | LibGG - API header file | |
| | | | |
|
| Copyright (C) 1998 Marcus Sundberg [marcus@ggi-project.org] | | Copyright (C) 1998-1999 Marcus Sundberg [marcus@ggi-project.org] | |
| | | | |
| Permission is hereby granted, free of charge, to any person obtaining a | | Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"
), | | copy of this software and associated documentation files (the "Software"
), | |
| to deal in the Software without restriction, including without limitatio
n | | to deal in the Software without restriction, including without limitatio
n | |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, | | the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| and/or sell copies of the Software, and to permit persons to whom the | | and/or sell copies of the Software, and to permit persons to whom the | |
| Software is furnished to do so, subject to the following conditions: | | Software is furnished to do so, subject to the following conditions: | |
| | | | |
| The above copyright notice and this permission notice shall be included
in | | The above copyright notice and this permission notice shall be included
in | |
| all copies or substantial portions of the Software. | | all copies or substantial portions of the Software. | |
| | | | |
| skipping to change at line 31 | | skipping to change at line 31 | |
| THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETH
ER | | THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETH
ER | |
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR
E. | | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR
E. | |
| | | | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
| #ifndef _GGI_GG_H | | #ifndef _GGI_GG_H | |
| #define _GGI_GG_H | | #define _GGI_GG_H | |
| | | | |
|
| #include <stdio.h> | | | |
| #include <stdlib.h> | | | |
| #include <ggi/errors.h> | | #include <ggi/errors.h> | |
| #include <ggi/system.h> | | #include <ggi/system.h> | |
|
| | | #include <ggi/gg-defs.h> | |
| | | | |
|
| | | #include <stdio.h> | |
| | | #include <stdlib.h> | |
| | | | |
| | | __BEGIN_DECLS | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Initialize/Deinitialize library | | Initialize/Deinitialize library | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
|
| int ggInit(void); | | GGAPIFUNC int ggInit(void); | |
| | | | |
|
| int ggExit(void); | | GGAPIFUNC int ggExit(void); | |
| | | | |
| | | /* | |
| | | *************************************************************************** | |
| | | *** | |
| | | Time functions | |
| | | *************************************************************************** | |
| | | *** | |
| | | */ | |
| | | | |
| | | GGAPIFUNC int ggCurTime(struct timeval *tv); | |
| | | | |
| | | GGAPIFUNC int ggUSleep(sint32 usecs); | |
| | | | |
| | | GGAPIFUNC void ggUSlumber(sint32 usecs); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Functions for adding and removing cleanup callbacks | | Functions for adding and removing cleanup callbacks | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
| typedef void (ggcleanup_func)(void *); | | typedef void (ggcleanup_func)(void *); | |
| | | | |
|
| int ggRegisterCleanup(ggcleanup_func *func, void *arg); | | GGAPIFUNC int ggRegisterCleanup(ggcleanup_func *func, void *arg); | |
| | | | |
|
| int ggUnregisterCleanup(ggcleanup_func *func, void *arg); | | GGAPIFUNC int ggUnregisterCleanup(ggcleanup_func *func, void *arg); | |
| | | | |
| | | /* Try to force _exit() when a handler is triggered */ | |
| | | GGAPIFUNC void ggCleanupForceExit(void); | |
| | | | |
| | | /* | |
| | | *************************************************************************** | |
| | | *** | |
| | | Functions and structures for using the task scheduler | |
| | | *************************************************************************** | |
| | | *** | |
| | | */ | |
| | | | |
| | | /* Scheduler tick counter wraps at this value */ | |
| | | #define GG_SCHED_TICK_WRAP 32768 | |
| | | | |
| | | #define GG_SCHED_TICKS2USECS(ticks) ((ticks) * ggTimeBase()) | |
| | | #define GG_SCHED_USECS2TICKS(usecs) ((usecs) / ggTimeBase()) | |
| | | | |
| | | struct gg_task; | |
| | | typedef int (gg_task_callback_fn)(struct gg_task *task); | |
| | | | |
| | | struct gg_task { | |
| | | gg_task_callback_fn *cb; /* Function to call to run task | |
| | | */ | |
| | | void *hook; /* Task data can be hung here | |
| | | */ | |
| | | int pticks; /* Run once every pticks ticks. | |
| | | */ | |
| | | int ncalls; /* Run ncalls times (0 = infinite) | |
| | | */ | |
| | | | |
| | | /* The rest of this structure is private/internal, do not touch. | |
| | | * It should be initialized to all NULL before adding the task. | |
| | | */ | |
| | | void *exelock; /* Prevents reentry | |
| | | */ | |
| | | int lasttick; /* # of tick when task last run | |
| | | */ | |
| | | | |
| | | /* Double-linked, reorderable ring-list of all registered tasks. | |
| | | */ | |
| | | struct gg_task *next; | |
| | | struct gg_task *last; | |
| | | | |
| | | /* Double-linked ordered linear-list of tasks with expired deadlines | |
| | | */ | |
| | | struct gg_task *nextdl; | |
| | | struct gg_task *lastdl; | |
| | | }; | |
| | | | |
| | | GGAPIFUNC int ggAddTask(struct gg_task *task); | |
| | | GGAPIFUNC int ggDelTask(struct gg_task *task); | |
| | | GGAPIFUNC uint32 ggTimeBase(void); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Misc functions | | Misc functions | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
| /* Get the users "home" directory, or whatever the equivalent is under the | | /* Get the users "home" directory, or whatever the equivalent is under the | |
| system we are running on. */ | | system we are running on. */ | |
|
| const char *ggGetUserDir(void); | | GGAPIFUNC const char *ggGetUserDir(void); | |
| | | | |
| | | /* | |
| | | *************************************************************************** | |
| | | *** | |
| | | Safe string handling functions | |
| | | *************************************************************************** | |
| | | *** | |
| | | */ | |
| | | | |
| | | /* | |
| | | * Copy src to string dst of size siz. At most siz-1 characters | |
| | | * will be copied. Always NUL terminates (unless siz == 0). | |
| | | * Returns strlen(src); if retval >= siz, truncation occurred. | |
| | | */ | |
| | | GGAPIFUNC size_t ggstrlcpy(char *dst, const char *src, size_t siz); | |
| | | | |
| | | /* | |
| | | * Appends src to string dst of size siz (unlike strncat, siz is the | |
| | | * full size of dst, not space left). At most siz-1 characters | |
| | | * will be copied. Always NUL terminates (unless siz <= strlen(dst)). | |
| | | * Returns strlen(src) + MIN(siz, strlen(initial dst)). | |
| | | * If retval >= siz, truncation occurred. | |
| | | */ | |
| | | GGAPIFUNC size_t ggstrlcat(char *dst, const char *src, size_t siz); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Configuration file handling | | Configuration file handling | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
|
| int ggLoadConfig(const char *file, void **confret); | | GGAPIFUNC int ggLoadConfig(const char *file, void **confret); | |
| | | | |
|
| void ggFreeConfig(void *conf); | | GGAPIFUNC void ggFreeConfig(void *conf); | |
| | | | |
|
| const char *ggMatchConfig(const void *conf, const char *name, | | GGAPIFUNC const char *ggMatchConfig(const void *conf, const char *name, | |
| const char *version); | | const char *version); | |
| | | | |
| | | GGAPIFUNC int ggConfigExpandAlias(void *confhandle, const char *list_in, | |
| | | char *list_out, size_t outmax); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Dynamic module loading | | Dynamic module loading | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
|
| #ifdef _WIN32 | | | |
| typedef HMODULE gg_module; | | | |
| #else | | | |
| typedef void *gg_module; | | typedef void *gg_module; | |
|
| #endif | | | |
| | | | |
|
| #define GG_MODULE_GLOBAL 1 | | #define GG_MODULE_NULL NULL | |
| | | | |
|
| #ifdef _WIN32 | | #define GG_MODULE_GLOBAL 1 | |
| #define GG_MODULE_NULL NULL /* FIXME ??? */ | | | |
| #else | | | |
| #define GG_MODULE_NULL NULL | | | |
| #endif | | | |
| | | | |
| /* Dynamicly load file */ | | /* Dynamicly load file */ | |
|
| gg_module ggLoadModule(const char *filename, int flags); | | GGAPIFUNC gg_module ggLoadModule(const char *filename, int flags); | |
| | | | |
| /* Try to match name in conf and load the resulting filename */ | | /* Try to match name in conf and load the resulting filename */ | |
|
| gg_module ggMLoadModule(const void *conf, const char *name, | | GGAPIFUNC gg_module ggMLoadModule(const void *conf, const char *name, | |
| const char *version, int flags); | | const char *version, int flags); | |
| | | | |
| /* Get Address of symbol in module */ | | /* Get Address of symbol in module */ | |
|
| void *ggGetSymbolAddress(gg_module module, const char *symbol); | | GGAPIFUNC void *ggGetSymbolAddress(gg_module module, const char *symbol); | |
| | | | |
| /* Unload a module and free resources */ | | /* Unload a module and free resources */ | |
|
| void ggFreeModule(gg_module module); | | GGAPIFUNC void ggFreeModule(gg_module module); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Parsing functions | | Parsing functions | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
| /* Read the first matching option from an option file into the correspondin
g | | /* Read the first matching option from an option file into the correspondin
g | |
| result entry */ | | result entry */ | |
|
| int ggGetFileOpt(FILE *fp, const char **optnames, char **results, int ressi | | GGAPIFUNC int ggGetFileOpt(FILE *fp, const char **optnames, | |
| ze); | | char **results, int ressize); | |
| | | | |
|
| char *ggParseTarget(const char *str, char *target, int max); | | GGAPIFUNC char *ggParseTarget(const char *str, char *target, int max); | |
| | | | |
|
| #define MAX_OPTION_NAME 32 | | #define GG_MAX_OPTION_NAME 32 | |
| #define MAX_OPTION_RESULT 256 | | #define GG_MAX_OPTION_RESULT 256 | |
| | | | |
| typedef struct gg_option | | typedef struct gg_option | |
| { | | { | |
|
| char name[MAX_OPTION_NAME]; | | char name[GG_MAX_OPTION_NAME]; | |
| char result[MAX_OPTION_RESULT]; | | char result[GG_MAX_OPTION_RESULT]; | |
| } gg_option; | | } gg_option; | |
| | | | |
|
| char *ggParseOptions(const char *str, gg_option *optlist, int count); | | GGAPIFUNC char *ggParseOptions(const char *str, gg_option *optlist, | |
| | | int count); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Debug output | | Debug output | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
|
| void ggDPrintf(int sync, const char *subsys, const char *form, ...); | | GGAPIFUNC void ggDPrintf(int _sync, const char *subsys, | |
| | | const char *form, ...); | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| Mutex locking | | Mutex locking | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
|
| void *ggLockCreate(void); | | GGAPIFUNC void *ggLockCreate(void); | |
| | | | |
|
| int ggLockDestroy(void *lock); | | GGAPIFUNC int ggLockDestroy(void *lock); | |
| | | | |
|
| int ggLock(void *lock); | | GGAPIFUNC void ggLock(void *lock); | |
| | | | |
|
| int ggUnlock(void *lock); | | GGAPIFUNC void ggUnlock(void *lock); | |
| | | | |
|
| int ggTryLock(void *lock); | | GGAPIFUNC int ggTryLock(void *lock); | |
| | | | |
| | | /* | |
| | | *************************************************************************** | |
| | | *** | |
| | | CPU Identification and SIMD disable/enable | |
| | | *************************************************************************** | |
| | | *** | |
| | | */ | |
| | | | |
| | | /* These are exclusive even between architectures to limit cpp complexity. | |
| | | * And who knows, perhaps cross-arch emulations may happen. | |
| | | */ | |
| | | enum gg_swartype { | |
| | | GG_SWAR_NONE = 0x00000001, /* Vanilla C implementation */ | |
| | | GG_SWAR_32BITC = 0x00000002, /* Fast 32b math vs 16b */ | |
| | | GG_SWAR_ALTIVEC = 0x00000004, | |
| | | GG_SWAR_SSE = 0x00000008, | |
| | | GG_SWAR_SSE2 = 0x00000010, | |
| | | GG_SWAR_MMX = 0x00000020, | |
| | | GG_SWAR_MMXPLUS = 0x00000040, /* Cyrix. */ | |
| | | GG_SWAR_3DNOW = 0x00000080, /* Implies MMX enhancements */ | |
| | | GG_SWAR_ADV3DNOW= 0x00000100, /* Implies MMX enhancements */ | |
| | | GG_SWAR_MAX = 0x00000200, | |
| | | GG_SWAR_SIGD = 0x00000400, /* 32b or 64b?? */ | |
| | | GG_SWAR_SSE3 = 0x00000800, | |
| | | | |
| | | #ifdef GG_HAVE_INT64 | |
| | | | |
| | | GG_SWAR_64BITC = 0x0000000100000000LL, /* Fast 64b vs 32b | |
| | | */ | |
| | | GG_SWAR_MVI = 0x0000000200000000LL, /* avail in 32b mode? | |
| | | */ | |
| | | GG_SWAR_MAX2 = 0x0000000400000000LL, | |
| | | GG_SWAR_MDMX = 0x0000000800000000LL, /* avail in 32b mode? | |
| | | */ | |
| | | GG_SWAR_MAJC = 0x0000001000000000LL, | |
| | | GG_SWAR_VIS = 0x0000002000000000LL, | |
| | | | |
| | | GG_SWAR_ALL = 0xffffffffffffffffLL | |
| | | #else | |
| | | GG_SWAR_ALL = 0xffffffff | |
| | | | |
| | | #endif | |
| | | | |
| | | }; | |
| | | | |
| | | GGAPIFUNC enum gg_swartype ggGetSwarType(void); | |
| | | | |
| | | __END_DECLS | |
| | | | |
| #endif /* _GGI_GG_H */ | | #endif /* _GGI_GG_H */ | |
| | | | |
End of changes. 32 change blocks. |
| 42 lines changed or deleted | | 182 lines changed or added | |
|
| gii.h | | gii.h | |
|
| /* $Id: gii.h,v 1.12 1999/03/17 23:43:04 becka Exp $ | | /* $Id: gii.h,v 1.4 2004/02/23 14:16:38 pekberg Exp $ | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| | | | |
| LibGII API header file | | LibGII API header file | |
| | | | |
|
| Copyright (C) 1998 Andreas Beck [becka@ggi-project.org] | | Copyright (C) 1998 Andreas Beck [becka@ggi-project.o | |
| | | rg] | |
| | | Copyright (C) 1999-2000 Marcus Sundberg [marcus@ggi-project.org] | |
| | | | |
| Permission is hereby granted, free of charge, to any person obtaining a | | Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"
), | | copy of this software and associated documentation files (the "Software"
), | |
| to deal in the Software without restriction, including without limitatio
n | | to deal in the Software without restriction, including without limitatio
n | |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, | | the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| and/or sell copies of the Software, and to permit persons to whom the | | and/or sell copies of the Software, and to permit persons to whom the | |
| Software is furnished to do so, subject to the following conditions: | | Software is furnished to do so, subject to the following conditions: | |
| | | | |
| The above copyright notice and this permission notice shall be included
in | | The above copyright notice and this permission notice shall be included
in | |
| all copies or substantial portions of the Software. | | all copies or substantial portions of the Software. | |
| | | | |
| skipping to change at line 32 | | skipping to change at line 33 | |
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR
E. | | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR
E. | |
| | | | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
| #ifndef _GGI_GII_H | | #ifndef _GGI_GII_H | |
| #define _GGI_GII_H | | #define _GGI_GII_H | |
| | | | |
| #include <ggi/events.h> | | #include <ggi/events.h> | |
|
| | | #include <ggi/gii-defs.h> | |
| | | | |
|
| #ifdef __cplusplus | | #ifndef _INTERNAL_LIBGII | |
| extern "C" { | | /* Opaque pointer types. | |
| #endif /* __cplusplus */ | | This little magic gains us some type checking. */ | |
| | | struct gii_h_dummy1 { char dummy1; }; | |
| #ifndef _BUILDING_LIBGII | | typedef struct gii_h_dummy1 *gii_input_t; | |
| typedef void *gii_input_t; | | | |
| typedef void *gii_filter_t; | | | |
| #endif | | #endif | |
| | | | |
|
| #define GII_MAXSUBLIBS 256 | | | |
| #define GII_SUBLIBMASK 0x000000ff | | | |
| #define GII_MAINMASK 0xffffff00 | | | |
| | | | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| libGII function definitions | | libGII function definitions | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
|
| | | __BEGIN_DECLS | |
| | | | |
| /* Get the master config dir | | /* Get the master config dir | |
| */ | | */ | |
|
| const char *giiGetConfDir(void); | | GIIAPIFUNC const char *giiGetConfDir(void); | |
| | | | |
| /* Enter and leave the library. | | /* Enter and leave the library. | |
| */ | | */ | |
|
| int giiInit(void); | | GIIAPIFUNC int giiInit(void); | |
| int giiExit(void); | | GIIAPIFUNC int giiExit(void); | |
| void giiPanic(char *format, ...); | | GIIAPIFUNC void giiPanic(const char *format, ...); | |
| | | | |
| | | /* Turn on thread safe operation | |
| | | */ | |
| | | GIIAPIFUNC int giiMTInit(void); | |
| | | | |
| /* Open a new Input - use input `NULL' for autoselect. | | /* Open a new Input - use input `NULL' for autoselect. | |
| */ | | */ | |
|
| gii_input_t giiOpen(const char *input,...); | | GIIAPIFUNC gii_input_t giiOpen(const char *input,...); | |
| int giiClose(gii_input_t inp); | | GIIAPIFUNC int giiClose(gii_input_t inp); | |
| | | | |
| /* Input management | | /* Input management | |
| */ | | */ | |
|
| | | GIIAPIFUNC gii_input_t giiJoinInputs(gii_input_t inp, gii_input_t inp2); | |
| | | GIIAPIFUNC int giiSplitInputs(gii_input_t inp, gii_input_t *newhand, | |
| | | uint32 origin, uint32 flags); | |
| | | | |
|
| gii_input_t giiJoinInputs(gii_input_t inp, gii_input_t inp2); | | /* Event Handling | |
| | | */ | |
| /* Event Handling */ | | GIIAPIFUNC gii_event_mask giiEventPoll(gii_input_t inp, | |
| | | gii_event_mask mask, | |
| gii_event_mask giiEventPoll(gii_input_t inp, gii_event_mask mask, | | struct timeval *t); | |
| struct timeval *t); | | GIIAPIFUNC int giiEventRead(gii_input_t inp, gii_ev | |
| int giiEventRead(gii_input_t inp, gii_event *ev, | | ent *ev, | |
| gii_event_mask mask); | | gii_event_mask mask); | |
| int giiEventsQueued(gii_input_t inp, gii_event_mask mask); | | GIIAPIFUNC int giiEventsQueued(gii_input_t inp, | |
| int giiEventSend(gii_input_t inp, gii_event *ev); | | gii_event_mask mask); | |
| int giiSetEventMask(gii_input_t inp, gii_event_mask evm); | | GIIAPIFUNC int giiEventSend(gii_input_t inp, gii_event *ev) | |
| gii_event_mask giiGetEventMask(gii_input_t inp); | | ; | |
| | | GIIAPIFUNC int giiSetEventMask(gii_input_t inp, | |
| | | gii_event_mask evm); | |
| | | GIIAPIFUNC gii_event_mask giiGetEventMask(gii_input_t inp); | |
| | | | |
| #define giiAddEventMask(inp,mask) \ | | #define giiAddEventMask(inp,mask) \ | |
| giiSetEventMask((inp), giiGetEventMask((inp)) | (mask)) | | giiSetEventMask((inp), giiGetEventMask((inp)) | (mask)) | |
| #define giiRemoveEventMask(inp,mask) \ | | #define giiRemoveEventMask(inp,mask) \ | |
| giiSetEventMask((inp), giiGetEventMask((inp)) & ~(mask)) | | giiSetEventMask((inp), giiGetEventMask((inp)) & ~(mask)) | |
| | | | |
|
| #if 0 | | /* Deviceinfo stuff | |
| /* Filter handling */ | | */ | |
| | | GIIAPIFUNC int giiQueryDeviceInfo (gii_input_t inp, uint32 orig | |
| gii_filter_t giiFilterOpen(const char *filter, const char *args, void *argp | | in, gii_cmddata_getdevinfo *info); | |
| tr); | | GIIAPIFUNC int giiQueryDeviceInfoByNumber(gii_input_t inp, uint32 numb | |
| int giiFilterClose(gii_filter_t filt); | | er, uint32 *origin, gii_cmddata_getdevinfo *info); | |
| gii_filter_t giiFilterListOpen(const char *str); | | GIIAPIFUNC int giiQueryValInfo (gii_input_t inp, uint32 origin, uint | |
| int giiAttachFilter(gii_input_t inp, gii_filter_t filt); | | 32 valnumber, gii_cmddata_getvalinfo *info); | |
| int giiDetachFilters(gii_input_t inp); | | | |
| #endif | | | |
| | | | |
| /* Deviceinfo stuff */ | | | |
| | | | |
| int giiQueryDeviceInfo(gii_input_t inp, uint32 origin, gii_cmddata_ | | | |
| getdevinfo *info); | | | |
| int giiQueryValInfo (gii_input_t inp, uint32 origin, uint32 valnu | | | |
| mber, gii_cmddata_getvalinfo *info); | | | |
| | | | |
|
| #ifdef __cplusplus | | __END_DECLS | |
| } | | | |
| #endif /* __cplusplus */ | | | |
| | | | |
| #endif /* _GGI_GII_H */ | | #endif /* _GGI_GII_H */ | |
| | | | |
End of changes. 13 change blocks. |
| 51 lines changed or deleted | | 48 lines changed or added | |
|
| keyboard.h | | keyboard.h | |
|
| /* $Id: keyboard.h,v 1.13 1999/03/11 17:36:01 marcus Exp $ | | /* $Id: keyboard.h,v 1.2 2003/11/30 07:18:30 skids Exp $ | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| | | | |
| LibGII keyboard definitions | | LibGII keyboard definitions | |
| | | | |
| Copyright (C) 1998 Andrew Apted [andrew@ggi-project.org] | | Copyright (C) 1998 Andrew Apted [andrew@ggi-project.org] | |
| Copyright (C) 1999 Marcus Sundberg [marcus@ggi-project.org] | | Copyright (C) 1999 Marcus Sundberg [marcus@ggi-project.org] | |
| | | | |
| Permission is hereby granted, free of charge, to any person obtaining a | | Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"
), | | copy of this software and associated documentation files (the "Software"
), | |
| to deal in the Software without restriction, including without limitatio
n | | to deal in the Software without restriction, including without limitatio
n | |
| | | | |
| skipping to change at line 45 | | skipping to change at line 45 | |
| #define GII_UNICODE(x) ((x) < 0xE000 || (x) >= 0xF900) | | #define GII_UNICODE(x) ((x) < 0xE000 || (x) >= 0xF900) | |
| | | | |
| /* types */ | | /* types */ | |
| | | | |
| #define GII_KT_LATIN1 0x00 | | #define GII_KT_LATIN1 0x00 | |
| #define GII_KT_SPEC 0xE0 | | #define GII_KT_SPEC 0xE0 | |
| #define GII_KT_FN 0xE1 | | #define GII_KT_FN 0xE1 | |
| #define GII_KT_PAD 0xE2 | | #define GII_KT_PAD 0xE2 | |
| #define GII_KT_MOD 0xE3 | | #define GII_KT_MOD 0xE3 | |
| #define GII_KT_DEAD 0xE4 | | #define GII_KT_DEAD 0xE4 | |
|
| | | #define GII_KT_RC 0xE5 | |
| | | | |
| /* modifiers */ | | /* modifiers */ | |
| | | | |
| #define GII_KM_SHIFT 0x00 | | #define GII_KM_SHIFT 0x00 | |
| #define GII_KM_CTRL 0x01 | | #define GII_KM_CTRL 0x01 | |
| #define GII_KM_ALT 0x02 | | #define GII_KM_ALT 0x02 | |
| #define GII_KM_META 0x03 | | #define GII_KM_META 0x03 | |
| #define GII_KM_SUPER 0x04 | | #define GII_KM_SUPER 0x04 | |
| #define GII_KM_HYPER 0x05 | | #define GII_KM_HYPER 0x05 | |
| #define GII_KM_ALTGR 0x06 | | #define GII_KM_ALTGR 0x06 | |
| | | | |
| skipping to change at line 236 | | skipping to change at line 237 | |
| #define GIIK_PF1 GII_KEY(GII_KT_PAD, 0x91) | | #define GIIK_PF1 GII_KEY(GII_KT_PAD, 0x91) | |
| #define GIIK_PF2 GII_KEY(GII_KT_PAD, 0x92) | | #define GIIK_PF2 GII_KEY(GII_KT_PAD, 0x92) | |
| #define GIIK_PF3 GII_KEY(GII_KT_PAD, 0x93) | | #define GIIK_PF3 GII_KEY(GII_KT_PAD, 0x93) | |
| #define GIIK_PF4 GII_KEY(GII_KT_PAD, 0x94) | | #define GIIK_PF4 GII_KEY(GII_KT_PAD, 0x94) | |
| #define GIIK_PF5 GII_KEY(GII_KT_PAD, 0x95) | | #define GIIK_PF5 GII_KEY(GII_KT_PAD, 0x95) | |
| #define GIIK_PF6 GII_KEY(GII_KT_PAD, 0x96) | | #define GIIK_PF6 GII_KEY(GII_KT_PAD, 0x96) | |
| #define GIIK_PF7 GII_KEY(GII_KT_PAD, 0x97) | | #define GIIK_PF7 GII_KEY(GII_KT_PAD, 0x97) | |
| #define GIIK_PF8 GII_KEY(GII_KT_PAD, 0x98) | | #define GIIK_PF8 GII_KEY(GII_KT_PAD, 0x98) | |
| #define GIIK_PF9 GII_KEY(GII_KT_PAD, 0x99) | | #define GIIK_PF9 GII_KEY(GII_KT_PAD, 0x99) | |
| | | | |
|
| | | /* Remote control, shortcut, and digi keys. Note: corresponds to linux's | |
| | | * linux-input, which is likely to be the dominant system eventually, | |
| | | * given most people are too lazy to make their own keymaps and lirc doesn' | |
| | | t | |
| | | * have a base keymap, just some key symbol names. | |
| | | * | |
| | | * So, try to keep a simple mapping to linux-input if possible when | |
| | | * adding keys. | |
| | | * | |
| | | * Current mapping against linux/input.h: | |
| | | * "keys" 0x140-0x19f are mapped to GII_KT_RC | (0x10 to 0x6f) | |
| | | * "keys" 0x70 and up are mapped to their code | GII_KT_RC, except | |
| | | * for those which existed prior to adding the linux-input keys. | |
| | | * | |
| | | * Note that while the GII_KT_RC codes may appear in mainstream | |
| | | * sources they are not considered to be formally part of this | |
| | | * version of LibGII; they will become formally valid in the next | |
| | | * release of LibGII (when this comment will hopefully be deleted :-) | |
| | | * | |
| | | */ | |
| | | | |
| | | #define GIIK_Digi GII_KEY(GII_KT_RC,(0x140 - 0x130)) | |
| | | #define GIIK_Tool_Pen GII_KEY(GII_KT_RC,(0x140 - 0x130)) | |
| | | #define GIIK_Tool_Rubber GII_KEY(GII_KT_RC,(0x141 - 0x130)) | |
| | | #define GIIK_Tool_Brush GII_KEY(GII_KT_RC,(0x142 - 0x130)) | |
| | | #define GIIK_Tool_Pencil GII_KEY(GII_KT_RC,(0x143 - 0x130)) | |
| | | #define GIIK_Tool_Airbrush GII_KEY(GII_KT_RC,(0x144 - 0x130)) | |
| | | #define GIIK_Tool_Finger GII_KEY(GII_KT_RC,(0x145 - 0x130)) | |
| | | #define GIIK_Tool_Mouse GII_KEY(GII_KT_RC,(0x146 - 0x130)) | |
| | | #define GIIK_Tool_Lens GII_KEY(GII_KT_RC,(0x147 - 0x130)) | |
| | | #define GIIK_Touch GII_KEY(GII_KT_RC,(0x14a - 0x130)) | |
| | | #define GIIK_Stylus GII_KEY(GII_KT_RC,(0x14b - 0x130)) | |
| | | #define GIIK_Stylus2 GII_KEY(GII_KT_RC,(0x14c - 0x130)) | |
| | | #define GIIK_Tool_DoubleTap GII_KEY(GII_KT_RC,(0x14d - 0x130)) | |
| | | #define GIIK_Tool_TripleTap GII_KEY(GII_KT_RC,(0x14e - 0x130)) | |
| | | #define GIIK_Ok GII_KEY(GII_KT_RC,(0x160 - 0x130)) | |
| | | #define GIIK_Goto GII_KEY(GII_KT_RC,(0x162 - 0x130)) | |
| | | #define GIIK_Power2 GII_KEY(GII_KT_RC,(0x164 - 0x130)) | |
| | | #define GIIK_Option GII_KEY(GII_KT_RC,(0x165 - 0x130)) | |
| | | #define GIIK_Info GII_KEY(GII_KT_RC,(0x166 - 0x130)) | |
| | | #define GIIK_Time GII_KEY(GII_KT_RC,(0x167 - 0x130)) | |
| | | #define GIIK_Vendor GII_KEY(GII_KT_RC,(0x168 - 0x130)) | |
| | | #define GIIK_Archive GII_KEY(GII_KT_RC,(0x169 - 0x130)) | |
| | | #define GIIK_Program GII_KEY(GII_KT_RC,(0x16a - 0x130)) | |
| | | #define GIIK_Channel GII_KEY(GII_KT_RC,(0x16b - 0x130)) | |
| | | #define GIIK_Favorites GII_KEY(GII_KT_RC,(0x16c - 0x130)) | |
| | | #define GIIK_Epg GII_KEY(GII_KT_RC,(0x16d - 0x130)) | |
| | | #define GIIK_Pvr GII_KEY(GII_KT_RC,(0x16e - 0x130)) | |
| | | #define GIIK_Mhp GII_KEY(GII_KT_RC,(0x16f - 0x130)) | |
| | | #define GIIK_Language GII_KEY(GII_KT_RC,(0x170 - 0x130)) | |
| | | #define GIIK_Title GII_KEY(GII_KT_RC,(0x171 - 0x130)) | |
| | | #define GIIK_Subtitle GII_KEY(GII_KT_RC,(0x172 - 0x130)) | |
| | | #define GIIK_Angle GII_KEY(GII_KT_RC,(0x173 - 0x130)) | |
| | | #define GIIK_Zoom GII_KEY(GII_KT_RC,(0x174 - 0x130)) | |
| | | #define GIIK_Mode GII_KEY(GII_KT_RC,(0x175 - 0x130)) | |
| | | #define GIIK_Keyboard GII_KEY(GII_KT_RC,(0x176 - 0x130)) | |
| | | #define GIIK_Screen GII_KEY(GII_KT_RC,(0x177 - 0x130)) | |
| | | #define GIIK_Vga GII_KEY(GII_KT_RC,(0x178 - 0x130)) | |
| | | #define GIIK_Tv GII_KEY(GII_KT_RC,(0x179 - 0x130)) | |
| | | #define GIIK_Tv2 GII_KEY(GII_KT_RC,(0x17a - 0x130)) | |
| | | #define GIIK_Vcr GII_KEY(GII_KT_RC,(0x17b - 0x130)) | |
| | | #define GIIK_Vcr2 GII_KEY(GII_KT_RC,(0x17c - 0x130)) | |
| | | #define GIIK_Sat GII_KEY(GII_KT_RC,(0x17d - 0x130)) | |
| | | #define GIIK_Sat2 GII_KEY(GII_KT_RC,(0x17e - 0x130)) | |
| | | #define GIIK_Cd GII_KEY(GII_KT_RC,(0x17f - 0x130)) | |
| | | #define GIIK_Tape GII_KEY(GII_KT_RC,(0x180 - 0x130)) | |
| | | #define GIIK_Radio GII_KEY(GII_KT_RC,(0x181 - 0x130)) | |
| | | #define GIIK_Tuner GII_KEY(GII_KT_RC,(0x182 - 0x130)) | |
| | | #define GIIK_Player GII_KEY(GII_KT_RC,(0x183 - 0x130)) | |
| | | #define GIIK_Text GII_KEY(GII_KT_RC,(0x184 - 0x130)) | |
| | | #define GIIK_Dvd GII_KEY(GII_KT_RC,(0x185 - 0x130)) | |
| | | #define GIIK_Aux GII_KEY(GII_KT_RC,(0x186 - 0x130)) | |
| | | #define GIIK_Mp3 GII_KEY(GII_KT_RC,(0x187 - 0x130)) | |
| | | #define GIIK_Audio GII_KEY(GII_KT_RC,(0x188 - 0x130)) | |
| | | #define GIIK_Video GII_KEY(GII_KT_RC,(0x189 - 0x130)) | |
| | | #define GIIK_Directory GII_KEY(GII_KT_RC,(0x18a - 0x130)) | |
| | | #define GIIK_List GII_KEY(GII_KT_RC,(0x18b - 0x130)) | |
| | | #define GIIK_Memo GII_KEY(GII_KT_RC,(0x18c - 0x130)) | |
| | | #define GIIK_Calendar GII_KEY(GII_KT_RC,(0x18d - 0x130)) | |
| | | #define GIIK_Red GII_KEY(GII_KT_RC,(0x18e - 0x130)) | |
| | | #define GIIK_Green GII_KEY(GII_KT_RC,(0x18f - 0x130)) | |
| | | #define GIIK_Yellow GII_KEY(GII_KT_RC,(0x190 - 0x130)) | |
| | | #define GIIK_Blue GII_KEY(GII_KT_RC,(0x191 - 0x130)) | |
| | | #define GIIK_ChannelUp GII_KEY(GII_KT_RC,(0x192 - 0x130)) | |
| | | #define GIIK_ChannelDown GII_KEY(GII_KT_RC,(0x193 - 0x130)) | |
| | | #define GIIK_First GII_KEY(GII_KT_RC,(0x194 - 0x130)) | |
| | | #define GIIK_Last GII_KEY(GII_KT_RC,(0x195 - 0x130)) | |
| | | #define GIIK_Ab GII_KEY(GII_KT_RC,(0x196 - 0x130)) | |
| | | #define GIIK_Restart GII_KEY(GII_KT_RC,(0x198 - 0x130)) | |
| | | #define GIIK_Slow GII_KEY(GII_KT_RC,(0x199 - 0x130)) | |
| | | #define GIIK_Shuffle GII_KEY(GII_KT_RC,(0x19a - 0x130)) | |
| | | #define GIIK_Previous GII_KEY(GII_KT_RC,(0x19c - 0x130)) | |
| | | #define GIIK_Digits GII_KEY(GII_KT_RC,(0x19d - 0x130)) | |
| | | #define GIIK_Teen GII_KEY(GII_KT_RC,(0x19e - 0x130)) | |
| | | #define GIIK_Twen GII_KEY(GII_KT_RC,(0x19f - 0x130)) | |
| | | #define GIIK_Mute GII_KEY(GII_KT_RC,113) | |
| | | #define GIIK_VolumeDown GII_KEY(GII_KT_RC,114) | |
| | | #define GIIK_VolumeUp GII_KEY(GII_KT_RC,115) | |
| | | #define GIIK_Power GII_KEY(GII_KT_RC,116) | |
| | | #define GIIK_Again GII_KEY(GII_KT_RC,129) | |
| | | #define GIIK_Props GII_KEY(GII_KT_RC,130) | |
| | | #define GIIK_Front GII_KEY(GII_KT_RC,132) | |
| | | #define GIIK_Copy GII_KEY(GII_KT_RC,133) | |
| | | #define GIIK_Open GII_KEY(GII_KT_RC,134) | |
| | | #define GIIK_Paste GII_KEY(GII_KT_RC,135) | |
| | | #define GIIK_Cut GII_KEY(GII_KT_RC,137) | |
| | | #define GIIK_Calc GII_KEY(GII_KT_RC,140) | |
| | | #define GIIK_Setup GII_KEY(GII_KT_RC,141) | |
| | | #define GIIK_Sleep GII_KEY(GII_KT_RC,142) | |
| | | #define GIIK_Wakeup GII_KEY(GII_KT_RC,143) | |
| | | #define GIIK_File GII_KEY(GII_KT_RC,144) | |
| | | #define GIIK_SendFile GII_KEY(GII_KT_RC,145) | |
| | | #define GIIK_DeleteFile GII_KEY(GII_KT_RC,146) | |
| | | #define GIIK_Xfer GII_KEY(GII_KT_RC,147) | |
| | | #define GIIK_Prog1 GII_KEY(GII_KT_RC,148) | |
| | | #define GIIK_Prog2 GII_KEY(GII_KT_RC,149) | |
| | | #define GIIK_Www GII_KEY(GII_KT_RC,150) | |
| | | #define GIIK_Msdos GII_KEY(GII_KT_RC,151) | |
| | | #define GIIK_Coffee GII_KEY(GII_KT_RC,152) | |
| | | #define GIIK_Direction GII_KEY(GII_KT_RC,153) | |
| | | #define GIIK_CycleWindows GII_KEY(GII_KT_RC,154) | |
| | | #define GIIK_Mail GII_KEY(GII_KT_RC,155) | |
| | | #define GIIK_Bookmarks GII_KEY(GII_KT_RC,156) | |
| | | #define GIIK_Computer GII_KEY(GII_KT_RC,157) | |
| | | #define GIIK_Back GII_KEY(GII_KT_RC,158) | |
| | | #define GIIK_Forward GII_KEY(GII_KT_RC,159) | |
| | | #define GIIK_CloseCd GII_KEY(GII_KT_RC,160) | |
| | | #define GIIK_EjectCd GII_KEY(GII_KT_RC,161) | |
| | | #define GIIK_EjectCloseCd GII_KEY(GII_KT_RC,162) | |
| | | #define GIIK_NextSong GII_KEY(GII_KT_RC,163) | |
| | | #define GIIK_PlayPause GII_KEY(GII_KT_RC,164) | |
| | | #define GIIK_PreviousSong GII_KEY(GII_KT_RC,165) | |
| | | #define GIIK_StopCd GII_KEY(GII_KT_RC,166) | |
| | | #define GIIK_Record GII_KEY(GII_KT_RC,167) | |
| | | #define GIIK_Rewind GII_KEY(GII_KT_RC,168) | |
| | | #define GIIK_Phone GII_KEY(GII_KT_RC,169) | |
| | | #define GIIK_Iso GII_KEY(GII_KT_RC,170) | |
| | | #define GIIK_Config GII_KEY(GII_KT_RC,171) | |
| | | #define GIIK_Homepage GII_KEY(GII_KT_RC,172) | |
| | | #define GIIK_Refresh GII_KEY(GII_KT_RC,173) | |
| | | #define GIIK_Exit GII_KEY(GII_KT_RC,174) | |
| | | #define GIIK_Move GII_KEY(GII_KT_RC,175) | |
| | | #define GIIK_Edit GII_KEY(GII_KT_RC,176) | |
| | | #define GIIK_ScrollUp GII_KEY(GII_KT_RC,177) | |
| | | #define GIIK_ScrollDown GII_KEY(GII_KT_RC,178) | |
| | | #define GIIK_PlayCd GII_KEY(GII_KT_RC,200) | |
| | | #define GIIK_PauseCd GII_KEY(GII_KT_RC,201) | |
| | | #define GIIK_Prog3 GII_KEY(GII_KT_RC,202) | |
| | | #define GIIK_Prog4 GII_KEY(GII_KT_RC,203) | |
| | | #define GIIK_Suspend GII_KEY(GII_KT_RC,205) | |
| | | #define GIIK_Close GII_KEY(GII_KT_RC,206) | |
| | | #define GIIK_Play GII_KEY(GII_KT_RC,207) | |
| | | #define GIIK_FastForward GII_KEY(GII_KT_RC,208) | |
| | | #define GIIK_BassBoost GII_KEY(GII_KT_RC,209) | |
| | | #define GIIK_Print GII_KEY(GII_KT_RC,210) | |
| | | #define GIIK_Hp GII_KEY(GII_KT_RC,211) | |
| | | #define GIIK_Camera GII_KEY(GII_KT_RC,212) | |
| | | #define GIIK_Sound GII_KEY(GII_KT_RC,213) | |
| | | #define GIIK_Question GII_KEY(GII_KT_RC,214) | |
| | | #define GIIK_Email GII_KEY(GII_KT_RC,215) | |
| | | #define GIIK_Chat GII_KEY(GII_KT_RC,216) | |
| | | #define GIIK_Search GII_KEY(GII_KT_RC,217) | |
| | | #define GIIK_Connect GII_KEY(GII_KT_RC,218) | |
| | | #define GIIK_Finance GII_KEY(GII_KT_RC,219) | |
| | | #define GIIK_Sport GII_KEY(GII_KT_RC,220) | |
| | | #define GIIK_Shop GII_KEY(GII_KT_RC,221) | |
| | | #define GIIK_Alterase GII_KEY(GII_KT_RC,222) | |
| | | #define GIIK_BrightnessDown GII_KEY(GII_KT_RC,224) | |
| | | #define GIIK_BrightnessUp GII_KEY(GII_KT_RC,225) | |
| | | #define GIIK_Media GII_KEY(GII_KT_RC,226) | |
| | | | |
| /* modifier keys */ | | /* modifier keys */ | |
| | | | |
| #define GIIK_Shift GII_KEY(GII_KT_MOD, GII_KM_SHIFT) | | #define GIIK_Shift GII_KEY(GII_KT_MOD, GII_KM_SHIFT) | |
| #define GIIK_Ctrl GII_KEY(GII_KT_MOD, GII_KM_CTRL) | | #define GIIK_Ctrl GII_KEY(GII_KT_MOD, GII_KM_CTRL) | |
| #define GIIK_Alt GII_KEY(GII_KT_MOD, GII_KM_ALT) | | #define GIIK_Alt GII_KEY(GII_KT_MOD, GII_KM_ALT) | |
| #define GIIK_Meta GII_KEY(GII_KT_MOD, GII_KM_META) | | #define GIIK_Meta GII_KEY(GII_KT_MOD, GII_KM_META) | |
| #define GIIK_Super GII_KEY(GII_KT_MOD, GII_KM_SUPER) | | #define GIIK_Super GII_KEY(GII_KT_MOD, GII_KM_SUPER) | |
| #define GIIK_Hyper GII_KEY(GII_KT_MOD, GII_KM_HYPER) | | #define GIIK_Hyper GII_KEY(GII_KT_MOD, GII_KM_HYPER) | |
| #define GIIK_AltGr GII_KEY(GII_KT_MOD, GII_KM_ALTGR) | | #define GIIK_AltGr GII_KEY(GII_KT_MOD, GII_KM_ALTGR) | |
| #define GIIK_Caps GII_KEY(GII_KT_MOD, GII_KM_CAPS) | | #define GIIK_Caps GII_KEY(GII_KT_MOD, GII_KM_CAPS) | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 173 lines changed or added | |
|
| xwin.h | | xwin.h | |
|
| /* $Id: xwin.h,v 1.4 1999/02/11 00:35:18 marcus Exp $ | | /* $Id: xwin.h,v 1.2 2004/04/05 23:11:33 ggibecka Exp $ | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| | | | |
| Xwin inputlib - use an existing X window as a LibGII input source | | Xwin inputlib - use an existing X window as a LibGII input source | |
| | | | |
| Copyright (C) 1998 Marcus Sundberg [marcus@ggi-project.org] | | Copyright (C) 1998 Marcus Sundberg [marcus@ggi-project.org] | |
| | | | |
| Permission is hereby granted, free of charge, to any person obtaining a | | Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"
), | | copy of this software and associated documentation files (the "Software"
), | |
| to deal in the Software without restriction, including without limitatio
n | | to deal in the Software without restriction, including without limitatio
n | |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, | | the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| | | | |
| skipping to change at line 35 | | skipping to change at line 35 | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| */ | | */ | |
| | | | |
| #ifndef _GGI_INPUT_XWIN_H | | #ifndef _GGI_INPUT_XWIN_H | |
| #define _GGI_INPUT_XWIN_H | | #define _GGI_INPUT_XWIN_H | |
| | | | |
| #include <X11/Xlib.h> | | #include <X11/Xlib.h> | |
| | | | |
| /* Returns non-zero if we should queue the expose event */ | | /* Returns non-zero if we should queue the expose event */ | |
| typedef int (gii_inputxwin_exposefunc)(void *arg, int x, int y, int w, int
h); | | typedef int (gii_inputxwin_exposefunc)(void *arg, int x, int y, int w, int
h); | |
|
| | | typedef int (gii_inputxwin_resizefunc)(void *arg, int w, int h, gii_event *
ev); | |
| | | | |
| typedef struct { | | typedef struct { | |
| Display *disp; /* Display to use */ | | Display *disp; /* Display to use */ | |
| Window win; /* Window to use */ | | Window win; /* Window to use */ | |
| int ptralwaysrel; /* Pointer events are always relative */ | | int ptralwaysrel; /* Pointer events are always relative */ | |
| int wait; /* Wait for SETPARAM event before being | | int wait; /* Wait for SETPARAM event before being | |
| usable */ | | usable */ | |
| gii_inputxwin_exposefunc *exposefunc; /* If this is non-null we call | | gii_inputxwin_exposefunc *exposefunc; /* If this is non-null we call | |
| the specified function to see if we shoul
d | | the specified function to see if we shoul
d | |
| send the expose event or not */ | | send the expose event or not */ | |
| void *exposearg; /* This is the argument we pass to exposefun
c*/ | | void *exposearg; /* This is the argument we pass to exposefun
c*/ | |
| void *gglock; /* If this is non-null we use it to ggLock() | | void *gglock; /* If this is non-null we use it to ggLock() | |
| in the polling function */ | | in the polling function */ | |
|
| | | gii_inputxwin_resizefunc *resizefunc; /* If this is non-null we call | |
| | | the specified function to fill in a suita | |
| | | ble | |
| | | event to send due to the resize if it ret | |
| | | urns | |
| | | 0. If it returns non-0, we don't queue an | |
| | | y | |
| | | event. */ | |
| | | void *resizearg; /* This is the argument we pass to resizefun | |
| | | c*/ | |
| } gii_inputxwin_arg; | | } gii_inputxwin_arg; | |
| | | | |
| /* Send this event to change parameters on the fly */ | | /* Send this event to change parameters on the fly */ | |
| #define GII_CMDCODE_XWINSETPARAM (0x01 | GII_CMDFLAG_PRIVATE) | | #define GII_CMDCODE_XWINSETPARAM (0x01 | GII_CMDFLAG_PRIVATE) | |
| typedef struct { | | typedef struct { | |
| Window win; | | Window win; | |
| int ptralwaysrel; | | int ptralwaysrel; | |
|
| | | Window parentwin; | |
| } gii_xwin_cmddata_setparam; | | } gii_xwin_cmddata_setparam; | |
| | | | |
| #endif /* _GGI_INPUT_XWIN_H */ | | #endif /* _GGI_INPUT_XWIN_H */ | |
| | | | |
End of changes. 4 change blocks. |
| 1 lines changed or deleted | | 13 lines changed or added | |
|