quvi.h File Reference

Go to the source code of this file.

Defines

#define QUVIINFO_VOID   0x100000
#define QUVIINFO_LONG   0x200000
#define QUVIINFO_STRING   0x300000
#define QUVIINFO_DOUBLE   0x400000
#define QUVIINFO_TYPEMASK   0xf00000
#define QUVIPROPERTY_STRING   0x100000
#define QUVIPROPERTY_LONG   0x200000
#define QUVIPROPERTY_DOUBLE   0x300000
#define QUVIPROPERTY_TYPEMASK   0xf00000
#define QUVI_WRITEFUNC_ABORT   0x10000000
#define quvi_lobyte(w)   ((quvi_byte)((uint64_t)(w) & 0xff))
 Return a low byte from a word type variable.
#define quvi_hibyte(w)   ((quvi_byte)((uint64_t)(w) >> 8))
 Return a high byte from a word type variable.
#define quvi_loword(l)   ((quvi_word)((uint64_t)(l) & 0xffff))
 Return a low word from a long type variable.
#define quvi_hiword(l)   ((quvi_word)((uint64_t)(l) >> 16))
 Return a high word from a long type variable.

Typedefs

typedef void * quvi_t
 libquvi session handle
typedef void * quvi_video_t
 Video parsing session handle.
typedef int(* quvi_callback_status )(long param, void *data)
 Status callback function.
typedef int(* quvi_callback_write )(char *buffer, size_t size, size_t nitems, void *instream)
 Write callback function.
typedef uint32_t quvi_word
 Word type.
typedef uint8_t quvi_byte
 Byte type.

Enumerations

enum  QUVIversion { QUVI_VERSION = 0x00, QUVI_VERSION_LONG }
enum  QUVIcode {
  QUVI_OK = 0x00, QUVI_MEM, QUVI_BADHANDLE, QUVI_INVARG,
  QUVI_CURLINIT, QUVI_LAST, QUVI_ABORTEDBYCALLBACK, QUVI_LUAINIT,
  QUVI_NOLUAWEBSITE, _INTERNAL_QUVI_LAST, QUVI_PCRE = 0x40, QUVI_NOSUPPORT,
  QUVI_CURL, QUVI_ICONV, QUVI_LUA
}
enum  QUVIstatus { QUVISTATUS_FETCH = 0x00, QUVISTATUS_VERIFY }
enum  QUVIstatusType { QUVISTATUSTYPE_PAGE = 0x00, QUVISTATUSTYPE_CONFIG, QUVISTATUSTYPE_PLAYLIST, QUVISTATUSTYPE_DONE }
enum  QUVIoption { QUVIOPT_FORMAT = 0x00, QUVIOPT_NOVERIFY, QUVIOPT_STATUSFUNCTION, QUVIOPT_WRITEFUNCTION }
enum  QUVIinfo {
  QUVIINFO_NONE = 0x00, QUVIINFO_CURL = QUVIINFO_VOID + 1, QUVIINFO_CURLCODE = QUVIINFO_LONG + 2, QUVIINFO_HTTPCODE = QUVIINFO_LONG + 3,
  _QUVIINFO_LAST = 3
}
enum  QUVIproperty {
  QUVIPROP_NONE = 0x00, QUVIPROP_HOSTID = QUVIPROPERTY_STRING + 1, QUVIPROP_PAGEURL = QUVIPROPERTY_STRING + 2, QUVIPROP_PAGETITLE = QUVIPROPERTY_STRING + 3,
  QUVIPROP_VIDEOID = QUVIPROPERTY_STRING + 4, QUVIPROP_VIDEOURL = QUVIPROPERTY_STRING + 5, QUVIPROP_VIDEOFILELENGTH = QUVIPROPERTY_DOUBLE + 6, QUVIPROP_VIDEOFILECONTENTTYPE = QUVIPROPERTY_STRING + 7,
  QUVIPROP_VIDEOFILESUFFIX = QUVIPROPERTY_STRING + 8, QUVIPROP_HTTPCODE = QUVIPROPERTY_LONG + 9, QUVIPROP_VIDEOFORMAT = QUVIPROPERTY_STRING + 10, _QUVIPROP_LAST = 10
}

Functions

QUVIcode quvi_init (quvi_t *quvi)
 Start a new libquvi session.
void quvi_close (quvi_t *quvi)
 End a libquvi session.
QUVIcode quvi_setopt (quvi_t quvi, QUVIoption opt,...)
 Set options for a libquvi session handle.
size_t quvi_write_callback_default (void *ptr, size_t size, size_t nmemb, void *stream)
 Default write callback.
QUVIcode quvi_getinfo (quvi_t quvi, QUVIinfo info,...)
 Get information from a libquvi session handle.
QUVIcode quvi_parse (quvi_t quvi, char *url, quvi_video_t *video)
 Start a new video parsing session.
QUVIcode quvi_getprop (quvi_video_t video, QUVIproperty prop,...)
 Get video property information from a video session handle.
QUVIcode quvi_next_videolink (quvi_video_t video)
 Move to the next video link (if any).
void quvi_parse_close (quvi_video_t *video)
 End a video parsing session.
QUVIcode quvi_next_supported_website (quvi_t quvi, char **domain, char **formats)
 Return next supported video website.
QUVIcode quvi_next_host (char **domain, char **formats)
 Next supported video host.
char * quvi_strerror (quvi_t quvi, QUVIcode code)
 Return a string describing the error code.
char * quvi_version (QUVIversion type)
 Return libquvi version.
void quvi_free (void *ptr)
 Free allocated memory.

Detailed Description

 All Files Functions Typedefs Enumerations Enumerator Defines

Generated on 5 Sep 2010 by  doxygen 1.6.1