71 lines
2.7 KiB
C
Executable File
71 lines
2.7 KiB
C
Executable File
/**
|
|
Structure definitions and APIs used for nvt_uctrl io control.
|
|
|
|
@file nvt_uctrl_ioctrl.h
|
|
Copyright Novatek Microelectronics Corp. 2014. All rights reserved.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License version 2 as
|
|
published by the Free Software Foundation.
|
|
*/
|
|
#ifndef _NVT_UCTRL_IOCTL_H_
|
|
#define _NVT_UCTRL_IOCTL_H_
|
|
|
|
#include <asm/ioctl.h>
|
|
#include <nvt_type.h>
|
|
|
|
#define NVT_UCTRL_IOC_MAGIC 'U'
|
|
#define NVT_UCTRL_CMD_SIZE 256 ///<maximum command length
|
|
#define NVT_UCTRL_CONFIG_SIZE 40960 ///<maximum config length
|
|
#define NVT_UCTRL_RAW_SIZE (64*1024) ///<maximum raw size
|
|
|
|
/**
|
|
@name nvt_uctrl error code.
|
|
*/
|
|
//@{
|
|
#define NVT_UCTRL_RET_OK 0 ///<command OK
|
|
#define NVT_UCTRL_RET_ERR (-1) ///<command fail
|
|
#define NVT_UCTRL_RET_NO_FUNC (-2) ///<no operation
|
|
#define NVT_UCTRL_RET_PAR_ERR (-3) ///<parameter error
|
|
#define NVT_UCTRL_RET_IPC_ERR (-4) ///<IPC error
|
|
#define NVT_UCTRL_RET_BUF_ERR (-99) ///<buffer not enough
|
|
//@}
|
|
|
|
|
|
/**
|
|
nvt uctrl command structure.
|
|
*/
|
|
typedef struct _NVT_UCTRL_CMD {
|
|
UINT32 cmd; ///< [in]command
|
|
UINT32 cmd_size; ///< [in]command size
|
|
UINT32 config_data; ///< [in/out]config data buffer
|
|
int config_size; ///< [in/out]config data buffer size
|
|
unsigned int ret_value; ///< [out]command result
|
|
UINT32 buf; ///< [out]result string buffer
|
|
unsigned int buf_size; ///< [out]result string buffer size
|
|
} NVT_UCTRL_CMD, *PNVT_UCTRL_CMD;
|
|
|
|
/**
|
|
nvt uctrl notify structure.
|
|
*/
|
|
typedef struct _NVT_UCTRL_NOTIFY {
|
|
unsigned int ret_value; ///< [out]notify result
|
|
UINT32 buf; ///< [out]notify string buffer
|
|
unsigned int buf_size; ///< [out]notify string buffer size
|
|
} NVT_UCTRL_NOTIFY, *PNVT_UCTRL_NOTIFY;
|
|
|
|
|
|
//misc from 40
|
|
#define NVT_UCTRL_SET_CMD _IOWR(NVT_UCTRL_IOC_MAGIC, 45,NVT_UCTRL_CMD)
|
|
#define NVT_UCTRL_WAIT_NOTIFY _IOWR(NVT_UCTRL_IOC_MAGIC, 46,NVT_UCTRL_NOTIFY)
|
|
#define NVT_UCTRL_GET_CONFIG_CMD _IOWR(NVT_UCTRL_IOC_MAGIC, 47,NVT_UCTRL_CMD)
|
|
#define NVT_UCTRL_SET_CONFIG_CMD _IOWR(NVT_UCTRL_IOC_MAGIC, 48,NVT_UCTRL_CMD)
|
|
#define NVT_UCTRL_WAIT_NOTIFY_RAW _IOWR(NVT_UCTRL_IOC_MAGIC,49,NVT_UCTRL_NOTIFY)
|
|
|
|
// exproted APIs for kernel driver (e.g: nvt_status)
|
|
int nvt_uctrl_cmdsnd(char *cmd, char *ret_addr, int ret_size);
|
|
int nvt_uctrl_cmdrcv(char *cmd, int ret_size);
|
|
|
|
|
|
#endif
|