/*
NAME
  amf_headers.go

DESCRIPTION
  See Readme.md

AUTHORS
  Saxon Nelson-Milton <saxon@ausocean.org>

LICENSE
  amf_headers.go is Copyright (C) 2017 the Australian Ocean Lab (AusOcean)

  It is free software: you can redistribute it and/or modify them
  under the terms of the GNU General Public License as published by the
  Free Software Foundation, either version 3 of the License, or (at your
  option) any later version.

  It 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 GNU General Public License
  for more details.

  You should have received a copy of the GNU General Public License
  along with revid in gpl.txt.  If not, see http://www.gnu.org/licenses.

	Derived from librtmp under the GNU Lesser General Public License 2.1
	Copyright (C) 2005-2008 Team XBMC http://www.xbmc.org
	Copyright (C) 2008-2009 Andrej Stepanchuk
	Copyright (C) 2009-2010 Howard Chu
*/
package rtmp

const (
	AMF_NUMBER = iota
	AMF_BOOLEAN
	AMF_STRING
	AMF_OBJECT
	AMF_MOVIECLIP /* reserved, not used */
	AMF_NULL
	AMF_UNDEFINED
	AMF_REFERENCE
	AMF_ECMA_ARRAY
	AMF_OBJECT_END
	AMF_STRICT_ARRAY
	AMF_DATE
	AMF_LONG_STRING
	AMF_UNSUPPORTED
	AMF_RECORDSET /* reserved, not used */
	AMF_XML_DOC
	AMF_TYPED_OBJECT
	AMF_AVMPLUS /* switch to AMF3 */
	AMF_INVALID = 0xff
)

// typedef enum
// amf.h +40
type C_AMFDataType int32

// typedef struct AMF_Object
// amf.h +67
type C_AMFObject struct {
	o_props []C_AMFObjectProperty
}

// typedef struct P_vu
// amf.h +73
type P_vu struct {
	p_number float64
	p_aval   string
	p_object C_AMFObject
}

// typedef struct AMFObjectProperty
// amf.h +79
type C_AMFObjectProperty struct {
	p_name      string
	p_type      C_AMFDataType
	p_vu        P_vu
	p_UTCoffset int16
}