-/**
- * Store in pp_peek a pointer to the next "i_peek" bytes in the stream
- * \return The real numbers of valid bytes, if it's less
- * or equal to 0, *pp_peek is invalid.
- * \note pp_peek is a pointer to internal buffer and it will be invalid as
- * soons as other stream_* functions are called.
- * \note Due to input limitation, it could be less than i_peek without meaning
- * the end of the stream (but only when you have i_peek >=
- * p_input->i_bufsize)
- */
-static inline int stream_Peek( stream_t *s, uint8_t **pp_peek, int i_peek )
-{
- return s->pf_peek( s, pp_peek, i_peek );
-}
+ /* */
+ STREAM_SET_POSITION, /**< arg1= uint64_t res=can fail */
+ STREAM_GET_POSITION, /**< arg1= uint64_t * res=cannot fail*/
+
+ STREAM_GET_SIZE, /**< arg1= uint64_t * res=cannot fail (0 if no sense)*/
+
+ /* Special for direct access control from demuxer.
+ * XXX: avoid using it by all means */
+ STREAM_CONTROL_ACCESS, /* arg1= int i_access_query, args res: can fail
+ if access unreachable or access control answer */
+
+ /* You should update size of source if any and then update size
+ * FIXME find a way to avoid it */
+ STREAM_UPDATE_SIZE,
+
+ /* */
+ STREAM_GET_CONTENT_TYPE, /**< arg1= char ** res=can fail */
+
+ /* XXX only data read through stream_Read/Block will be recorded */
+ STREAM_SET_RECORD_STATE, /**< arg1=bool, arg2=const char *psz_ext (if arg1 is true) res=can fail */
+};
+
+VLC_EXPORT( int, stream_Read, ( stream_t *s, void *p_read, int i_read ) );
+VLC_EXPORT( int, stream_Peek, ( stream_t *s, const uint8_t **pp_peek, int i_peek ) );
+VLC_EXPORT( int, stream_vaControl, ( stream_t *s, int i_query, va_list args ) );
+VLC_EXPORT( void, stream_Delete, ( stream_t *s ) );
+VLC_EXPORT( int, stream_Control, ( stream_t *s, int i_query, ... ) );
+VLC_EXPORT( block_t *, stream_Block, ( stream_t *s, int i_size ) );
+VLC_EXPORT( char *, stream_ReadLine, ( stream_t * ) );