Hi, Jean-Claude ! J'ai moi aussi une Mdk 7.2 avec le même noyau... m'enfin!!! On ne peut jamais être sûr qu'un ajout autre par rpm n'a pas implé- menté qqs fichiers de plus, c'est sans doute pourquoi j'ai ces fichiers et pas toi. Mais... je ne sais plus pourquoi il te les fallait !!! Qu'importe. Avec locate j'en trouve quatre, alors tu les trouveras ci-après annexés, à toutes fins utiles, ou << pour en faire ce que de droit >> comme disent nos aimables juristes ! ... D'abord leurs positions : -------------------------------------------------- /usr/include/lct/local.h /usr/src/linux-2.4.0/drivers/acpi/include/aclocal.h /usr/src/drivers/alsa-driver-0.5.9c/lowlevel/emu10k1/emu10k1_synth_local.h /usr/src/drivers/alsa-driver-0.5.9c/lowlevel/sb/emu8000_local.h -------------------------------------------------- Et tu as les quatre fichiers en pièces jointes. J'espère que ça pourra t'aider. Amitiés Bernard L. -- << De Paris au Pérou, du Japon jusqu'à Rome, << Le plus sot animal, à mon avis, c'est l'homme ! Nicolas Boileau (Epîtres)
#ifndef _LCT_LOCAL_H #define _LCT_LOCAL_H /* convenience */ #include <stdio.h> #include <sysexits.h> #include <config.h> #define LOCALEDIR "/usr/share/locale" #ifdef HAVE_LOCALE_H # include <libintl.h> # define _(String) gettext (String) # ifdef gettext_noop # define N_(String) gettext_noop (String) # else # define N_(String) (String) # endif #else /* rough approximation of the functions */ # define _(String) (String) # define N_(String) (String) # define textdomain(Domain) # define bindtextdomain(Package, Directory) #endif #define badusage(ERRMSG) do { \ if (ERRMSG) \ fprintf (stderr, "%s: %s\n", progname, ERRMSG); \ usage(); \ exit(EX_USAGE); \ } while(0) /* setup localization for a program */ #define setuplocale() do { \ setlocale (LC_ALL, ""); \ bindtextdomain (PACKAGE, LOCALEDIR); \ textdomain (PACKAGE); \ } while (0) #define OPT(option, desc) printf("\t" option "%s\n", desc) #define OPTIONS_ARE() printf(_("valid options are:\n")) #define COMMANDS_ARE() printf(_("valid commands are:\n")) #define HELPDESC _("display this help text and exit") #define VERSIONDESC _("display version information and exit") #endif /* _LCT_LOCAL_H */
/****************************************************************************** * * Name: aclocal.h - Internal data types used across the ACPI subsystem * $Revision: 77 $ * *****************************************************************************/ /* * Copyright (C) 2000 R. Byron Moore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef __ACLOCAL_H__ #define __ACLOCAL_H__ #define WAIT_FOREVER ((u32) -1) typedef void* ACPI_MUTEX; typedef u32 ACPI_MUTEX_HANDLE; /* Object descriptor types */ #define ACPI_CACHED_OBJECT 0x11 /* ORed in when object is cached */ #define ACPI_DESC_TYPE_STATE 0x22 #define ACPI_DESC_TYPE_WALK 0x44 #define ACPI_DESC_TYPE_PARSER 0x66 #define ACPI_DESC_TYPE_INTERNAL 0x88 #define ACPI_DESC_TYPE_NAMED 0xAA /***************************************************************************** * * Mutex typedefs and structs * ****************************************************************************/ /* * Predefined handles for the mutex objects used within the subsystem * All mutex objects are automatically created by Acpi_cm_mutex_initialize. * NOTE: any changes here must be reflected in the Acpi_gbl_Mutex_names table also! */ #define ACPI_MTX_HARDWARE 0 #define ACPI_MTX_MEMORY 1 #define ACPI_MTX_CACHES 2 #define ACPI_MTX_TABLES 3 #define ACPI_MTX_PARSER 4 #define ACPI_MTX_DISPATCHER 5 #define ACPI_MTX_INTERPRETER 6 #define ACPI_MTX_EXECUTE 7 #define ACPI_MTX_NAMESPACE 8 #define ACPI_MTX_EVENTS 9 #define ACPI_MTX_OP_REGIONS 10 #define ACPI_MTX_DEBUG_CMD_READY 11 #define ACPI_MTX_DEBUG_CMD_COMPLETE 12 #define MAX_MTX 12 #define NUM_MTX MAX_MTX+1 #ifdef ACPI_DEBUG #ifdef DEFINE_ACPI_GLOBALS /* Names for the mutexes used in the subsystem */ static NATIVE_CHAR *acpi_gbl_mutex_names[] = { "ACPI_MTX_Hardware", "ACPI_MTX_Memory", "ACPI_MTX_Caches", "ACPI_MTX_Tables", "ACPI_MTX_Parser", "ACPI_MTX_Dispatcher", "ACPI_MTX_Interpreter", "ACPI_MTX_Execute", "ACPI_MTX_Namespace", "ACPI_MTX_Events", "ACPI_MTX_Op_regions", "ACPI_MTX_Debug_cmd_ready", "ACPI_MTX_Debug_cmd_complete" }; #endif #endif /* Table for the global mutexes */ typedef struct acpi_mutex_info { ACPI_MUTEX mutex; u32 use_count; u8 locked; } ACPI_MUTEX_INFO; /* Lock flag parameter for various interfaces */ #define ACPI_MTX_DO_NOT_LOCK 0 #define ACPI_MTX_LOCK 1 typedef u16 ACPI_OWNER_ID; #define OWNER_TYPE_TABLE 0x0 #define OWNER_TYPE_METHOD 0x1 #define FIRST_METHOD_ID 0x0000 #define FIRST_TABLE_ID 0x8000 /* TBD: [Restructure] get rid of the need for this! */ #define TABLE_ID_DSDT (ACPI_OWNER_ID) 0xD1D1 /***************************************************************************** * * Namespace typedefs and structs * ****************************************************************************/ /* Operational modes of the AML interpreter/scanner */ typedef enum { IMODE_LOAD_PASS1 = 0x01, IMODE_LOAD_PASS2 = 0x02, IMODE_EXECUTE = 0x0E } OPERATING_MODE; /* * The Node describes a named object that appears in the AML * An Acpi_node is used to store Nodes. * * Data_type is used to differentiate between internal descriptors, and MUST * be the first byte in this structure. */ typedef struct acpi_node { u8 data_type; u8 type; /* Type associated with this name */ u32 name; /* ACPI Name, always 4 chars per ACPI spec */ u16 owner_id; void *object; /* Pointer to attached ACPI object (optional) */ struct acpi_node *child; /* first child */ struct acpi_node *peer; /* Next peer*/ u16 reference_count; /* Current count of references and children */ u8 flags; } ACPI_NAMESPACE_NODE; #define ENTRY_NOT_FOUND NULL /* Node flags */ #define ANOBJ_AML_ATTACHMENT 0x1 #define ANOBJ_END_OF_PEER_LIST 0x2 /* * ACPI Table Descriptor. One per ACPI table */ typedef struct acpi_table_desc { struct acpi_table_desc *prev; struct acpi_table_desc *next; struct acpi_table_desc *installed_desc; ACPI_TABLE_HEADER *pointer; void *base_pointer; u8 *aml_pointer; u32 aml_length; u32 length; u32 count; ACPI_OWNER_ID table_id; u8 type; u8 allocation; u8 loaded_into_namespace; } ACPI_TABLE_DESC; typedef struct { NATIVE_CHAR *search_for; ACPI_HANDLE *list; u32 *count; } FIND_CONTEXT; typedef struct { ACPI_NAMESPACE_NODE *node; } NS_SEARCH_DATA; /* * Predefined Namespace items */ #define ACPI_MAX_ADDRESS_SPACE 255 #define ACPI_NUM_ADDRESS_SPACES 256 typedef struct { NATIVE_CHAR *name; ACPI_OBJECT_TYPE type; NATIVE_CHAR *val; } PREDEFINED_NAMES; /***************************************************************************** * * Event typedefs and structs * ****************************************************************************/ /* Status bits. */ #define ACPI_STATUS_PMTIMER 0x0001 #define ACPI_STATUS_GLOBAL 0x0020 #define ACPI_STATUS_POWER_BUTTON 0x0100 #define ACPI_STATUS_SLEEP_BUTTON 0x0200 #define ACPI_STATUS_RTC_ALARM 0x0400 /* Enable bits. */ #define ACPI_ENABLE_PMTIMER 0x0001 #define ACPI_ENABLE_GLOBAL 0x0020 #define ACPI_ENABLE_POWER_BUTTON 0x0100 #define ACPI_ENABLE_SLEEP_BUTTON 0x0200 #define ACPI_ENABLE_RTC_ALARM 0x0400 /* * Entry in the Address_space (AKA Operation Region) table */ typedef struct { ADDRESS_SPACE_HANDLER handler; void *context; } ACPI_ADDRESS_SPACE_INFO; /* Values and addresses of the GPE registers (both banks) */ typedef struct { u8 status; /* Current value of status reg */ u8 enable; /* Current value of enable reg */ u16 status_addr; /* Address of status reg */ u16 enable_addr; /* Address of enable reg */ u8 gpe_base; /* Base GPE number */ } ACPI_GPE_REGISTERS; #define ACPI_GPE_LEVEL_TRIGGERED 1 #define ACPI_GPE_EDGE_TRIGGERED 2 /* Information about each particular GPE level */ typedef struct { u8 type; /* Level or Edge */ ACPI_HANDLE method_handle; /* Method handle for direct (fast) execution */ GPE_HANDLER handler; /* Address of handler, if any */ void *context; /* Context to be passed to handler */ } ACPI_GPE_LEVEL_INFO; /* Information about each particular fixed event */ typedef struct { FIXED_EVENT_HANDLER handler; /* Address of handler. */ void *context; /* Context to be passed to handler */ } ACPI_FIXED_EVENT_INFO; /* Information used during field processing */ typedef struct { u8 skip_field; u8 field_flag; u32 pkg_length; } ACPI_FIELD_INFO; /***************************************************************************** * * Generic "state" object for stacks * ****************************************************************************/ #define CONTROL_NORMAL 0xC0 #define CONTROL_CONDITIONAL_EXECUTING 0xC1 #define CONTROL_PREDICATE_EXECUTING 0xC2 #define CONTROL_PREDICATE_FALSE 0xC3 #define CONTROL_PREDICATE_TRUE 0xC4 /* Forward declaration */ struct acpi_walk_state; struct acpi_parse_obj ; #define ACPI_STATE_COMMON /* Two 32-bit fields and a pointer */\ u8 data_type; /* To differentiate various internal objs */\ u8 flags; \ u16 value; \ u16 state; \ u16 acpi_eval; \ void *next; \ typedef struct acpi_common_state { ACPI_STATE_COMMON } ACPI_COMMON_STATE; /* * Update state - used to traverse complex objects such as packages */ typedef struct acpi_update_state { ACPI_STATE_COMMON union acpi_operand_obj *object; } ACPI_UPDATE_STATE; /* * Control state - one per if/else and while constructs. * Allows nesting of these constructs */ typedef struct acpi_control_state { ACPI_STATE_COMMON struct acpi_parse_obj *predicate_op; u8 *aml_predicate_start; /* Start of if/while predicate */ } ACPI_CONTROL_STATE; /* * Scope state - current scope during namespace lookups */ typedef struct acpi_scope_state { ACPI_STATE_COMMON ACPI_NAMESPACE_NODE *node; } ACPI_SCOPE_STATE; typedef struct acpi_pscope_state { ACPI_STATE_COMMON struct acpi_parse_obj *op; /* current op being parsed */ u8 *arg_end; /* current argument end */ u8 *pkg_end; /* current package end */ u32 arg_list; /* next argument to parse */ u32 arg_count; /* Number of fixed arguments */ } ACPI_PSCOPE_STATE; typedef union acpi_gen_state { ACPI_COMMON_STATE common; ACPI_CONTROL_STATE control; ACPI_UPDATE_STATE update; ACPI_SCOPE_STATE scope; ACPI_PSCOPE_STATE parse_scope; } ACPI_GENERIC_STATE; typedef ACPI_STATUS (*ACPI_PARSE_DOWNWARDS) ( u16 opcode, struct acpi_parse_obj *op, struct acpi_walk_state *walk_state, struct acpi_parse_obj **out_op); typedef ACPI_STATUS (*ACPI_PARSE_UPWARDS) ( struct acpi_walk_state *walk_state, struct acpi_parse_obj *op); /***************************************************************************** * * Parser typedefs and structs * ****************************************************************************/ #define ACPI_OP_CLASS_MASK 0x1F #define ACPI_OP_ARGS_MASK 0x20 #define ACPI_OP_TYPE_MASK 0xC0 #define ACPI_OP_TYPE_OPCODE 0x00 #define ACPI_OP_TYPE_ASCII 0x40 #define ACPI_OP_TYPE_PREFIX 0x80 #define ACPI_OP_TYPE_UNKNOWN 0xC0 #define ACPI_GET_OP_CLASS(a) ((a)->flags & ACPI_OP_CLASS_MASK) #define ACPI_GET_OP_ARGS(a) ((a)->flags & ACPI_OP_ARGS_MASK) #define ACPI_GET_OP_TYPE(a) ((a)->flags & ACPI_OP_TYPE_MASK) /* * AML opcode, name, and argument layout */ typedef struct acpi_opcode_info { u8 flags; /* Opcode type, Has_args flag */ u32 parse_args; /* Grammar/Parse time arguments */ u32 runtime_args; /* Interpret time arguments */ DEBUG_ONLY_MEMBERS ( NATIVE_CHAR *name) /* op name (debug only) */ } ACPI_OPCODE_INFO; typedef union acpi_parse_val { u32 integer; /* integer constant */ u32 size; /* bytelist or field size */ NATIVE_CHAR *string; /* NULL terminated string */ u8 *buffer; /* buffer or string */ NATIVE_CHAR *name; /* NULL terminated string */ struct acpi_parse_obj *arg; /* arguments and contained ops */ } ACPI_PARSE_VALUE; #define ACPI_PARSE_COMMON \ u8 data_type; /* To differentiate various internal objs */\ u8 flags; /* Type of Op */\ u16 opcode; /* AML opcode */\ u32 aml_offset; /* offset of declaration in AML */\ struct acpi_parse_obj *parent; /* parent op */\ struct acpi_parse_obj *next; /* next op */\ DEBUG_ONLY_MEMBERS (\ NATIVE_CHAR op_name[16]) /* op name (debug only) */\ /* NON-DEBUG members below: */\ ACPI_NAMESPACE_NODE *node;/* for use by interpreter */\ ACPI_PARSE_VALUE value; /* Value or args associated with the opcode */\ /* * generic operation (eg. If, While, Store) */ typedef struct acpi_parse_obj { ACPI_PARSE_COMMON } ACPI_PARSE_OBJECT; /* * Extended Op for named ops (Scope, Method, etc.), deferred ops (Methods and Op_regions), * and bytelists. */ typedef struct acpi_parse2_obj { ACPI_PARSE_COMMON u8 *data; /* AML body or bytelist data */ u32 length; /* AML length */ u32 name; /* 4-byte name or zero if no name */ } ACPI_PARSE2_OBJECT; /* * Parse state - one state per parser invocation and each control * method. */ typedef struct acpi_parse_state { u8 *aml_start; /* first AML byte */ u8 *aml; /* next AML byte */ u8 *aml_end; /* (last + 1) AML byte */ u8 *pkg_start; /* current package begin */ u8 *pkg_end; /* current package end */ ACPI_PARSE_OBJECT *start_op; /* root of parse tree */ struct acpi_node *start_node; ACPI_GENERIC_STATE *scope; /* current scope */ struct acpi_parse_state *next; } ACPI_PARSE_STATE; /***************************************************************************** * * Tree walking typedefs and structs * ****************************************************************************/ /* * Walk state - current state of a parse tree walk. Used for both a leisurely stroll through * the tree (for whatever reason), and for control method execution. */ #define NEXT_OP_DOWNWARD 1 #define NEXT_OP_UPWARD 2 #define WALK_METHOD 1 #define WALK_NON_METHOD 0 typedef struct acpi_walk_state { u8 data_type; /* To differentiate various internal objs */\ ACPI_OWNER_ID owner_id; /* Owner of objects created during the walk */ u8 last_predicate; /* Result of last predicate */ u8 next_op_info; /* Info about Next_op */ u8 num_operands; /* Stack pointer for Operands[] array */ u8 num_results; /* Stack pointer for Results[] array */ u8 current_result; /* */ struct acpi_walk_state *next; /* Next Walk_state in list */ ACPI_PARSE_OBJECT *origin; /* Start of walk */ /* TBD: Obsolete with removal of WALK procedure ? */ ACPI_PARSE_OBJECT *prev_op; /* Last op that was processed */ ACPI_PARSE_OBJECT *next_op; /* next op to be processed */ ACPI_GENERIC_STATE *control_state; /* List of control states (nested IFs) */ ACPI_GENERIC_STATE *scope_info; /* Stack of nested scopes */ ACPI_PARSE_STATE *parser_state; /* Current state of parser */ u8 *aml_last_while; ACPI_PARSE_DOWNWARDS descending_callback; ACPI_PARSE_UPWARDS ascending_callback; union acpi_operand_obj *return_desc; /* Return object, if any */ union acpi_operand_obj *method_desc; /* Method descriptor if running a method */ struct acpi_node *method_node; /* Method Node if running a method */ ACPI_PARSE_OBJECT *method_call_op; /* Method_call Op if running a method */ struct acpi_node *method_call_node; /* Called method Node*/ union acpi_operand_obj *operands[OBJ_NUM_OPERANDS]; /* Operands passed to the interpreter */ union acpi_operand_obj *results[OBJ_NUM_OPERANDS]; /* Accumulated results */ struct acpi_node arguments[MTH_NUM_ARGS]; /* Control method arguments */ struct acpi_node local_variables[MTH_NUM_LOCALS]; /* Control method locals */ u32 parse_flags; u8 walk_type; u8 return_used; u32 prev_arg_types; /* Debug support */ u32 method_breakpoint; } ACPI_WALK_STATE; /* * Walk list - head of a tree of walk states. Multiple walk states are created when there * are nested control methods executing. */ typedef struct acpi_walk_list { ACPI_WALK_STATE *walk_state; } ACPI_WALK_LIST; /* Info used by Acpi_ps_init_objects */ typedef struct init_walk_info { u32 method_count; u32 op_region_count; ACPI_TABLE_DESC *table_desc; } INIT_WALK_INFO; /* TBD: [Restructure] Merge with struct above */ typedef struct acpi_walk_info { u32 debug_level; u32 owner_id; } ACPI_WALK_INFO; /***************************************************************************** * * Hardware and PNP * ****************************************************************************/ /* Sleep states */ #define SLWA_DEBUG_LEVEL 4 #define GTS_CALL 0 #define GTS_WAKE 1 /* Cx States */ #define MAX_CX_STATE_LATENCY 0xFFFFFFFF #define MAX_CX_STATES 4 /* * The #define's and enum below establish an abstract way of identifying what * register block and register is to be accessed. Do not change any of the * values as they are used in switch statements and offset calculations. */ #define REGISTER_BLOCK_MASK 0xFF00 #define BIT_IN_REGISTER_MASK 0x00FF #define PM1_EVT 0x0100 #define PM1_CONTROL 0x0200 #define PM2_CONTROL 0x0300 #define PM_TIMER 0x0400 #define PROCESSOR_BLOCK 0x0500 #define GPE0_STS_BLOCK 0x0600 #define GPE0_EN_BLOCK 0x0700 #define GPE1_STS_BLOCK 0x0800 #define GPE1_EN_BLOCK 0x0900 enum { /* PM1 status register ids */ TMR_STS = (PM1_EVT | 0x01), BM_STS, GBL_STS, PWRBTN_STS, SLPBTN_STS, RTC_STS, WAK_STS, /* PM1 enable register ids */ TMR_EN, /* need to skip 1 enable number since there's no bus master enable register */ GBL_EN = (PM1_EVT | 0x0A), PWRBTN_EN, SLPBTN_EN, RTC_EN, /* PM1 control register ids */ SCI_EN = (PM1_CONTROL | 0x01), BM_RLD, GBL_RLS, SLP_TYPE_A, SLP_TYPE_B, SLP_EN, /* PM2 control register ids */ ARB_DIS = (PM2_CONTROL | 0x01), /* PM Timer register ids */ TMR_VAL = (PM_TIMER | 0x01), GPE0_STS = (GPE0_STS_BLOCK | 0x01), GPE0_EN = (GPE0_EN_BLOCK | 0x01), GPE1_STS = (GPE1_STS_BLOCK | 0x01), GPE1_EN = (GPE0_EN_BLOCK | 0x01), /* Last register value is one less than LAST_REG */ LAST_REG }; #define TMR_STS_MASK 0x0001 #define BM_STS_MASK 0x0010 #define GBL_STS_MASK 0x0020 #define PWRBTN_STS_MASK 0x0100 #define SLPBTN_STS_MASK 0x0200 #define RTC_STS_MASK 0x0400 #define WAK_STS_MASK 0x8000 #define ALL_FIXED_STS_BITS (TMR_STS_MASK | BM_STS_MASK | GBL_STS_MASK | PWRBTN_STS_MASK | \ SLPBTN_STS_MASK | RTC_STS_MASK | WAK_STS_MASK) #define TMR_EN_MASK 0x0001 #define GBL_EN_MASK 0x0020 #define PWRBTN_EN_MASK 0x0100 #define SLPBTN_EN_MASK 0x0200 #define RTC_EN_MASK 0x0400 #define SCI_EN_MASK 0x0001 #define BM_RLD_MASK 0x0002 #define GBL_RLS_MASK 0x0004 #define SLP_TYPE_X_MASK 0x1C00 #define SLP_EN_MASK 0x2000 #define ARB_DIS_MASK 0x0001 #define GPE0_STS_MASK #define GPE0_EN_MASK #define GPE1_STS_MASK #define GPE1_EN_MASK #define ACPI_READ 1 #define ACPI_WRITE 2 #define LOW_BYTE 0x00FF #define ONE_BYTE 0x08 #ifndef SET #define SET 1 #endif #ifndef CLEAR #define CLEAR 0 #endif /* Plug and play */ /* Pnp and ACPI data */ #define VERSION_NO 0x01 #define LOGICAL_DEVICE_ID 0x02 #define COMPATIBLE_DEVICE_ID 0x03 #define IRQ_FORMAT 0x04 #define DMA_FORMAT 0x05 #define START_DEPENDENT_TAG 0x06 #define END_DEPENDENT_TAG 0x07 #define IO_PORT_DESCRIPTOR 0x08 #define FIXED_LOCATION_IO_DESCRIPTOR 0x09 #define RESERVED_TYPE0 0x0A #define RESERVED_TYPE1 0x0B #define RESERVED_TYPE2 0x0C #define RESERVED_TYPE3 0x0D #define SMALL_VENDOR_DEFINED 0x0E #define END_TAG 0x0F /* Pnp and ACPI data */ #define MEMORY_RANGE_24 0x81 #define ISA_MEMORY_RANGE 0x81 #define LARGE_VENDOR_DEFINED 0x84 #define EISA_MEMORY_RANGE 0x85 #define MEMORY_RANGE_32 0x85 #define FIXED_EISA_MEMORY_RANGE 0x86 #define FIXED_MEMORY_RANGE_32 0x86 /* ACPI only data */ #define DWORD_ADDRESS_SPACE 0x87 #define WORD_ADDRESS_SPACE 0x88 #define EXTENDED_IRQ 0x89 /* MUST HAVES */ typedef enum { DWORD_DEVICE_ID, STRING_PTR_DEVICE_ID, STRING_DEVICE_ID } DEVICE_ID_TYPE; typedef struct { DEVICE_ID_TYPE type; union { u32 number; NATIVE_CHAR *string_ptr; NATIVE_CHAR buffer[9]; } data; } DEVICE_ID; /***************************************************************************** * * Debug * ****************************************************************************/ /* Entry for a memory allocation (debug only) */ #ifdef ACPI_DEBUG #define MEM_MALLOC 0 #define MEM_CALLOC 1 #define MAX_MODULE_NAME 16 typedef struct allocation_info { struct allocation_info *previous; struct allocation_info *next; void *address; u32 size; u32 component; u32 line; NATIVE_CHAR module[MAX_MODULE_NAME]; u8 alloc_type; } ALLOCATION_INFO; #endif #endif /* __ACLOCAL_H__ */
#ifndef __EMU10K1_SYNTH_LOCAL_H #define __EMU10K1_SYNTH_LOCAL_H /* * Local defininitons for Emu10k1 wavetable * * Copyright (C) 2000 Takashi Iwai <[EMAIL PROTECTED]> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "../../include/driver.h" #include "../../include/mixer.h" #include "../../include/emu10k1_synth.h" /* emu10k1_patch.c */ int snd_emu10k1_sample_new(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr, const void *_data, long count); int snd_emu10k1_sample_free(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr); int snd_emu10k1_memhdr_init(snd_emux_t *emu); /* emu10k1_callback.c */ void snd_emu10k1_ops_setup(snd_emux_t *emu); int snd_emu10k1_synth_get_voice(emu10k1_t *hw); #endif /* __EMU10K1_SYNTH_LOCAL_H */
#ifndef __EMU8000_LOCAL_H #define __EMU8000_LOCAL_H /* * Local defininitons for the emu8000 (AWE32/64) * * Copyright (C) 1999 Steve Ratcliffe * Copyright (C) 1999-2000 Takashi Iwai <[EMAIL PROTECTED]> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "../../include/emu8000.h" #include "../../include/emu8000_reg.h" #define NELEM(arr) (sizeof(arr)/sizeof((arr)[0])) /* emu8000_reg.c */ void snd_emu8000_poke(emu8000_t *emu, unsigned int port, unsigned int reg, unsigned int val); unsigned short snd_emu8000_peek(emu8000_t *emu, unsigned int port, unsigned int reg); void snd_emu8000_poke_dw(emu8000_t *emu, unsigned int port, unsigned int reg, unsigned int val); unsigned int snd_emu8000_peek_dw(emu8000_t *emu, unsigned int port, unsigned int reg); int snd_emu8000_detect(emu8000_t *emu); void snd_emu8000_dma_chan(emu8000_t *emu, int ch, int mode); int snd_emu8000_open_dma(emu8000_t *emu, int mode); void snd_emu8000_close_dma(emu8000_t *emu); void snd_emu8000_wait_dma(emu8000_t *emu); void snd_emu8000_read_wait(emu8000_t *emu); void snd_emu8000_write_wait(emu8000_t *emu); void snd_emu8000_wait(emu8000_t *emu, unsigned short delay); /* emu8000_init.c */ void snd_emu8000_init_hw(emu8000_t *emu); void snd_emu8000_start(emu8000_t *emu); void snd_emu8000_init(emu8000_t *emu); void snd_emu8000_init_fm(emu8000_t *emu); /* emu8000_patch.c */ int snd_emu8000_sample_new(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr, const void *data, long count); int snd_emu8000_sample_free(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr); void snd_emu8000_sample_reset(void *private_data); /* Prototypes for emu8000_proc.c */ void snd_emu8000_proc_init(emu8000_t *emu); void snd_emu8000_proc_free(snd_info_entry_t *ip); /* emu8000_synth.c */ void snd_emu8000_ops_setup(emu8000_t *emu); void snd_emu8000_tweak_voice(emu8000_t *emu, int ch); /* emu8000_equalizer.c */ void snd_emu8000_update_chorus_mode(emu8000_t *emu); void snd_emu8000_update_reverb_mode(emu8000_t *emu); void snd_emu8000_update_equalizer(emu8000_t *emu); int snd_emu8000_load_fx(void *private, int type, int mode, const void *buf, long len); void snd_emu8000_set_chorus_mode(emu8000_t *emu, int mode); void snd_emu8000_set_reverb_mode(emu8000_t *emu, int mode); int snd_emu8000_create_mixer(emu8000_t *emu, snd_kmixer_t *mixer, snd_kmixer_element_t *me_dest, int index); void snd_emu8000_free_mixer(emu8000_t *emu); #endif /* __EMU8000_LOCAL_H */