ref: 02e3e618472e4afa9a58950a9853aa0356b59504
dir: /opl/opl_internal.h/
// Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // // Copyright(C) 2009 Simon Howard // // 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. // // DESCRIPTION: // OPL internal interface. // //----------------------------------------------------------------------------- #ifndef OPL_INTERNAL_H #define OPL_INTERNAL_H #include "opl.h" typedef int (*opl_init_func)(unsigned int port_base); typedef void (*opl_shutdown_func)(void); typedef unsigned int (*opl_read_port_func)(opl_port_t port); typedef void (*opl_write_port_func)(opl_port_t port, unsigned int value); typedef struct { char *name; opl_init_func init_func; opl_shutdown_func shutdown_func; opl_read_port_func read_port_func; opl_write_port_func write_port_func; } opl_driver_t; #endif /* #ifndef OPL_INTERNAL_H */ // Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // // Copyright(C) 2009 Simon Howard // // 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. // // DESCRIPTION: // OPL internal interface. // //----------------------------------------------------------------------------- #ifndef OPL_INTERNAL_H #define OPL_INTERNAL_H #include "opl.h" typedef int (*opl_init_func)(unsigned int port_base); typedef void (*opl_shutdown_func)(void); typedef unsigned int (*opl_read_port_func)(opl_port_t port); typedef void (*opl_write_port_func)(opl_port_t port, unsigned int value); typedef struct { char *name; opl_init_func init_func; opl_shutdown_func shutdown_func; opl_read_port_func read_port_func; opl_write_port_func write_port_func; } opl_driver_t; #endif /* #ifndef OPL_INTERNAL_H */