/*
 * hifi_ogg.h:
 *
 * Copyright (c) 2000 James McKenzie <james@fishsoup.dhs.org>,
 * All rights reserved.
 *
 */

/*
 * $Id: hifi_ogg.h,v 1.1 2002/04/02 10:07:11 root Exp $
 */

/*
 * $Log: hifi_ogg.h,v $
 * Revision 1.1  2002/04/02 10:07:11  root
 * Initial revision
 *
 */

#ifndef __HIFI_OGG_H__
#define __HIFI_OGG_H__


#define HIFI_ST_OGG_STATE	HIFI_ST(HIFI_CLASS_OGG,1)
#define HIFI_CMD_OGG_PLAY	HIFI_CMD(HIFI_CLASS_OGG,1)
#define HIFI_CMD_OGG_PLAY_S	HIFI_CMD(HIFI_CLASS_OGG,2)
#define HIFI_CMD_OGG_PLAY_MS	HIFI_CMD(HIFI_CLASS_OGG,3)
#define HIFI_CMD_OGG_PLAY_HMS	HIFI_CMD(HIFI_CLASS_OGG,4)
#define HIFI_CMD_OGG_SEEK 	HIFI_CMD(HIFI_CLASS_OGG,5)

typedef struct
  {
    Word year;
    Byte mon;
    Byte day;
    Byte hour;
    Byte min;
    Byte sec;
  }
HIFI_PACKED
  Hifi_OGG_Time;

// Can't use enum
#define  HIFI_OGG_State_Stopped		1
#define  HIFI_OGG_State_Playing		2
#define  HIFI_OGG_State_Error		3
#define  HIFI_OGG_State_Unknown  	255

typedef struct
  {
    Hifi_ST_Header header;
    Byte state;
    Byte stream;
    Hifi_OGG_Time position;
    Byte buffer;
  }
HIFI_PACKED
  Hifi_ST_OGG_State;

#endif __HIFI_OGG_H__
