package n9m

type RIP struct {
	DEVID string // ID номер устройства
	BN    string // бортовой номер
	BID   string // гос. номер
	LN    string // Название линии
	DID   string // номер водительского удостоверения
	DNAME string // ФИО водителя
}

type VS struct {
	VIN string // VIN номер
}

type TIMEP struct {
	DATEM int    // формат даты
	TIMEM int    // формат времени
	TIMEZ string // часовой пояс
}

type ATP struct {
	GE int    // Синхронизация времени при помощи ГНСС
	NE int    // Синхронизация времени при помощи NTP
	NS string // NTP сервер для синхронизации
}

type SSP struct {
	UPT int // вкл/выкл
	DDS int // задержка перед выключением (при выборе зажигания)
	UH  int // час включения
	UM  int // минута включения
	US  int // минута включения
	DH  int // час выключения
	DM  int // минута выключения
	DS  int // секунда выключения
	CPM int // время выключения света
}

type SWUS struct {
	IOWP int    // Включение через IO
	GSWP int    // включение через G-сенсор
	TX   string // порог по X для G-сенсорa
	TY   string // порог по Y для G-сенсорa
	TZ   string // порог по Z для G-сенсорa
	RTWP int    // удаленное включение
	PHWP int    // включение через телефон
	PTWP int    // включение через SMS
}

type UMP struct {
	UIF []UIF // список юзеров
}

type UIF struct {
	UN string // username
	PW string // password
	UR int    // level
}

type SUBSTRNET struct {
	NEC     []NEC
	RLE     int
	SAE     int
	SM      int // Качество дополнительных потоков
	TOTALBW int // Максимальная скорость интернета
}

type NEC struct {
	AEN int // звук (вкл/выкл)
	VEN int // видео (вкл/выкл)
	BR  int // битрейт
	ECT int // кодировка
	FR  int // фреймрейт
	FT  int // тип кадров
	QLT int // качество трансляции
	RST int // разрешение
}

type DOSD struct {
	CHN []string // названия каналов
}

type AR struct {
	HDAE int   // Двойная запись на жесткий диск
	HID  int   // выбрать место для записи резервного потока
	RM   int   // режим записи резервного потока
	VEC  []VEC // параметры суб. потоков
}

type VEC struct {
	VEN int // видео (вкл/выкл)
	RST int // разрешение видеопотока
	ECT int // кодировка
	FR  int // фреймрейт
	QLT int // качество записи
	AEN int // звук (вкл/выкл)
	ALT int // качество видео при тревоге
}

type EOSD struct {
	COSD []COSD
	DE   int // показывать ли ID регистратора
	DTE  int
	DX   int
	DY   int
	GE   int // показывать ли GPS
	GX   int
	GY   int
	NE   int // показывать ли название канала
	NX   int
	NY   int
	SE   int // показывать ли скорость
	SX   int
	SY   int
	TE   int // показывать ли время
	TX   int
	TY   int
	VE   int // показывать ли номер устройства
	VX   int
	VY   int
	WME  int
}

type COSD struct {
	EN int
	F  int
	ID int
	L  int
	T  string
	TP int
	X  int
	Y  int
}

type IOP struct {
	EN  int
	AS  int
	EL  int
	SDT int
	APR APR
}

type SAP struct {
	EN  int
	AS  int
	WP  int
	SV  int
	AT  int
	APR APR
	UN  int
}

type APR struct {
	AR ARR
	SS SS
	ET int
}

type ARR struct {
	CH int
	D  int
}

type SS struct {
	EN int
}

type UAP struct {
	EN  int
	AS  int
	VT  int
	SDT int
}

type PVLAS struct {
	EN  int
	AS  int
	SDT int
	CH  int
}

type PMDAS struct {
	EN  int
	AS  int
	SDT int
	CH  int
}

type DSM struct {
	DSMA  int
	DSMFE int
	RWFE  int
}

type GSP struct {
	LANT int // Язык системы
	GM   int // Система геопозиционирования
}

type ETHERNET struct {
	IPMODE  int // Тип IP
	PIP     PIP // Параметры IP
	DNSMODE int // Автоматическое получение DNS
	DNS     DNS // Параметры DNS
	KEYS    KEYS
}

type PIP struct {
	IPADDR  string // IP адрес
	SUBMASK string // Маска подсети
	GATEWAY string // Шлюз сети
}

type DNS struct {
	PDNS string // Основной DNS
	ADNS string // Дополнительный DNS
}

type KEYS struct {
	MAC string // MAC-адрес
}

type WIFI struct {
	ENABLE     int    // Статус WIFI
	ESSID      string // Название точки доступа
	ECRYPTTYPE int    // Тип защиты WIFI
	PWD        string // Пароль от WIFI
	IPMODE     int    // Вид IP
	PIP        PIP    // Параметры IP
}

type M3G struct {
	M3M M3M // Управление активацией
	MP  MP  // Параметры первого модуля связи
	M4G MP  // Параметры второго модуля связи
}

type M3M struct {
	AT  int    // Режим работы модуля связи
	TN1 string // Номер активации 1
	TN2 string // Номер активации 2
	TN3 string // Номер активации 3
}

type MP struct {
	NM  int    // Выбор соединения
	APN string // APN
	UN  string // Логин
	PW  string // Пароль
}

type MCMS struct {
	M  int  // Битовая маска включенных серверов
	SP []SP // Параметры сервера
}

type SP struct {
	EN     int    // Статус сервера
	CP     int    // Протокол подключения
	NWT    int    // Способ подключения
	CS     string // Адрес сервера
	MS     string // Адрес медиасервера
	CPORT  int    // TCP-порт сервера
	MPORT  int    // TCP-порт медиасервера
	CUPORT int    // UDP-порт сервера
	MUPORT int    // UDP-порт медиасервера
}

type Setting struct {
	RIP       RIP
	VS        VS
	GSP       GSP
	TIMEP     TIMEP
	ETHERNET  ETHERNET
	KEYS      KEYS
	WIFI      WIFI
	M3G       M3G
	MCMS      MCMS
	ATP       ATP
	SSP       SSP
	SWUS      SWUS
	UMP       UMP
	SUBSTRNET SUBSTRNET
	DOSD      DOSD
	AR        AR
	EOSD      []EOSD
	MAIN      []VEC
	IOP       []IOP
	SAP       SAP
	UAP       UAP
	PVLAS     PVLAS
	PMDAS     PMDAS
	DSM       DSM
}