blob: a7d5a8df29916e48ec40653be11910f34e1e6b3f [file] [log] [blame]
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: Declare private API which shall be used internally only
* in ftm_time_sync component. This file shall include prototypes of
* various notification handlers and logging functions.
*
* Note: This API should be never accessed out of ftm_time_sync component.
*/
#ifndef _FTM_TIME_SYNC_MAIN_H_
#define _FTM_TIME_SYNC_MAIN_H_
#include <qdf_types.h>
#include "ftm_time_sync_priv.h"
#include "ftm_time_sync_objmgr.h"
#define ftm_time_sync_log(level, args...) \
QDF_TRACE(QDF_MODULE_ID_FTM_TIME_SYNC, level, ## args)
#define ftm_time_sync_logfl(level, format, args...) \
ftm_time_sync_log(level, FL(format), ## args)
#define ftm_time_sync_fatal(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_FATAL, format, ## args)
#define ftm_time_sync_err(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_ERROR, format, ## args)
#define ftm_time_sync_warn(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_WARN, format, ## args)
#define ftm_time_sync_info(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_INFO, format, ## args)
#define ftm_time_sync_debug(format, args...) \
ftm_time_sync_logfl(QDF_TRACE_LEVEL_DEBUG, format, ## args)
#define FTM_TIME_SYNC_ENTER() ftm_time_sync_debug("enter")
#define FTM_TIME_SYNC_EXIT() ftm_time_sync_debug("exit")
/**
* ftm_time_sync_vdev_create_notification(): Handler for vdev create notify.
* @vdev: vdev which is going to be created by objmgr
* @arg: argument for notification handler.
*
* Allocate and attach vdev private object.
*
* Return: QDF_STATUS status in case of success else return error.
*/
QDF_STATUS ftm_timesync_vdev_create_notification(struct wlan_objmgr_vdev *vdev,
void *arg);
/**
* ftm_time_sync_vdev_destroy_notification(): Handler for vdev destroy notify.
* @vdev: vdev which is going to be destroyed by objmgr
* @arg: argument for notification handler.
*
* Deallocate and detach vdev private object.
*
* Return QDF_STATUS status in case of success else return error
*/
QDF_STATUS
ftm_timesync_vdev_destroy_notification(struct wlan_objmgr_vdev *vdev,
void *arg);
#endif /* end of _FTM_TIME_SYNC_MAIN_H_ */