* vlc.h: global header for vlc
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: vlc.h,v 1.6 2002/07/20 18:01:42 sam Exp $
+ * $Id: vlc.h,v 1.21 2002/12/15 16:28:20 gbazin 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
/*****************************************************************************
* Our custom types
*****************************************************************************/
-#define VLC_DECLARE_STRUCT( name ) struct name; typedef struct name name;
+typedef int vlc_bool_t;
+typedef struct vlc_list_t vlc_list_t;
+typedef struct vlc_object_t vlc_object_t;
-VLC_DECLARE_STRUCT(vlc_t)
-VLC_DECLARE_STRUCT(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;
-typedef signed int vlc_error_t;
-typedef int vlc_bool_t;
-typedef int vlc_status_t;
+ /* Make sure the structure is at least 64bits */
+ struct { char a, b, c, d, e, f, g, h; } padding;
+
+} vlc_value_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 "os_specific.h"
-# include "vlc_messages.h"
-# include "mtime.h"
-# include "modules.h"
-# include "main.h"
-# include "configuration.h"
-# include "vlc_objects.h"
#endif
/*****************************************************************************
* Exported libvlc API
*****************************************************************************/
-vlc_status_t vlc_status ( void );
-
-vlc_error_t vlc_create ( void );
-vlc_error_t vlc_init ( int, char *[] );
-vlc_error_t vlc_run ( void );
-vlc_error_t vlc_stop ( void );
-vlc_error_t vlc_end ( void );
-vlc_error_t vlc_destroy ( void );
-
-vlc_error_t vlc_add_intf ( const char *, vlc_bool_t );
-vlc_error_t vlc_add_target ( const char *, int, int );
-
-/*****************************************************************************
- * Exported libvlc reentrant API
- *****************************************************************************/
-vlc_status_t vlc_status_r ( vlc_t * );
-
-vlc_t * vlc_create_r ( void );
-vlc_error_t vlc_init_r ( vlc_t *, int, char *[] );
-vlc_error_t vlc_run_r ( vlc_t * );
-vlc_error_t vlc_stop_r ( vlc_t * );
-vlc_error_t vlc_end_r ( vlc_t * );
-vlc_error_t vlc_destroy_r ( vlc_t * );
-
-vlc_error_t vlc_add_intf_r ( vlc_t *, const char *, vlc_bool_t );
-vlc_error_t vlc_add_target_r ( vlc_t *, const char *, int, int );
+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
}