* vlc.h: global header for vlc
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: vlc.h,v 1.4 2002/07/03 19:40:49 sam Exp $
+ * $Id: vlc.h,v 1.22 2003/01/28 02:03:32 sam Exp $
*
* 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
/*****************************************************************************
* Our custom types
*****************************************************************************/
-#define VLC_DECLARE_STRUCT( name ) \
- struct name##_s; \
- typedef struct name##_s name##_t;
-VLC_DECLARE_STRUCT(vlc)
-VLC_DECLARE_STRUCT(vlc_object)
+typedef int vlc_bool_t;
+typedef struct vlc_list_t vlc_list_t;
+typedef struct vlc_object_t vlc_object_t;
+
+typedef union
+{
+ int i_int;
+ vlc_bool_t b_bool;
+ float f_float;
+ char * psz_string;
+ void * p_address;
+ vlc_object_t * p_object;
+ vlc_list_t * p_list;
+
+ /* Make sure the structure is at least 64bits */
+ struct { char a, b, c, d, e, f, g, h; } padding;
+
+} vlc_value_t;
-typedef signed int vlc_error_t;
-typedef int vlc_bool_t;
-typedef int vlc_status_t;
+struct vlc_list_t
+{
+ int i_count;
+ vlc_value_t * p_values;
+ int * pi_types;
+
+};
/*****************************************************************************
* Error values
*****************************************************************************/
#define VLC_SUCCESS -0 /* No error */
-#define VLC_EGENERIC -1 /* Generic error */
-#define VLC_ENOMEM -2 /* Not enough memory */
-#define VLC_ESTATUS -3 /* Invalid status */
+#define VLC_ENOMEM -1 /* Not enough memory */
+#define VLC_ETHREAD -2 /* Thread error */
+#define VLC_ETIMEOUT -3 /* Timeout */
+
+#define VLC_ENOMOD -10 /* Module not found */
+
+#define VLC_ENOOBJ -20 /* Object not found */
+#define VLC_EBADOBJ -21 /* Bad object type */
+
+#define VLC_ENOVAR -30 /* Variable not found */
+#define VLC_EBADVAR -31 /* Bad variable value */
+
#define VLC_EEXIT -255 /* Program exited */
+#define VLC_EGENERIC -666 /* Generic error */
/*****************************************************************************
* Booleans
#define VLC_FALSE 0
#define VLC_TRUE 1
-/*****************************************************************************
- * Main structure status
- *****************************************************************************/
-#define VLC_STATUS_NONE 0x00000000
-#define VLC_STATUS_CREATED 0x02020202
-#define VLC_STATUS_STOPPED 0x12121212
-#define VLC_STATUS_RUNNING 0x42424242
-
/*****************************************************************************
* Playlist
*****************************************************************************/
/* Used by playlist_Add */
-#define PLAYLIST_INSERT 0x0001
-#define PLAYLIST_REPLACE 0x0002
-#define PLAYLIST_APPEND 0x0004
-#define PLAYLIST_GO 0x0008
+#define PLAYLIST_INSERT 0x0001
+#define PLAYLIST_REPLACE 0x0002
+#define PLAYLIST_APPEND 0x0004
+#define PLAYLIST_GO 0x0008
+#define PLAYLIST_CHECK_INSERT 0x0010
#define PLAYLIST_END -666
* Required internal headers
*****************************************************************************/
#if defined( __VLC__ )
-# include "defs.h"
-# include "config.h"
-# include "modules_inner.h"
# include "vlc_common.h"
-# include "vlc_messages.h"
-# include "mtime.h"
-# include "modules.h"
-# include "main.h"
-# include "configuration.h"
-# include "vlc_objects.h"
#endif
/*****************************************************************************
- * Exported libvlc base API
+ * Exported libvlc API
*****************************************************************************/
-vlc_t * vlc_create ( void );
-vlc_error_t vlc_init ( vlc_t *, int, char *[] );
-vlc_error_t vlc_run ( vlc_t * );
-vlc_error_t vlc_stop ( vlc_t * );
-vlc_error_t vlc_end ( vlc_t * );
-vlc_error_t vlc_destroy ( vlc_t * );
-
-vlc_error_t vlc_add_intf ( vlc_t *, const char *, vlc_bool_t );
-vlc_error_t vlc_add_target ( vlc_t *, const char *, int, int );
-
-vlc_status_t vlc_status ( vlc_t * );
+char const * VLC_Version ( void );
+char const * VLC_Error ( int );
+
+int VLC_Create ( void );
+int VLC_Init ( int, int, char *[] );
+int VLC_Die ( int );
+int VLC_Destroy ( int );
+
+int VLC_Set ( int, char const *, vlc_value_t );
+int VLC_Get ( int, char const *, vlc_value_t * );
+int VLC_AddIntf ( int, char const *, vlc_bool_t );
+int VLC_AddTarget ( int, char const *, int, int );
+
+int VLC_Play ( int );
+int VLC_Pause ( int );
+int VLC_Stop ( int );
+int VLC_FullScreen ( int );
# ifdef __cplusplus
}