/*
 * ldr.h
 *
 * DSP-BIOS Bridge driver support functions for TI OMAP processors.
 *
 * Provide module loading services and symbol export services.
 *
 * Notes:
 *   This service is meant to be used by modules of the DSP/BIOS Bridge
 *   driver.
 *
 * Copyright (C) 2005-2006 Texas Instruments, Inc.
 *
 * This package is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

#ifndef LDR_
#define LDR_

/* Loader objects: */
struct ldr_module;

#endif /* LDR_ */
