/**************************************************************************************************
*  Filename:       nwk_freq.h
*  Revised:        $Date: 2008-05-06 16:48:33 -0700 (Tue, 06 May 2008) $
*  Revision:       $Revision: 17025 $
*  Author:         $Author: lfriedman $
*
*  Description:    This header file supports the SimpliciTI Freq network application.
*
*  Copyright 2004-2007 Texas Instruments Incorporated. All rights reserved.
*
*  IMPORTANT: Your use of this Software is limited to those specific rights granted under
*  the terms of a software license agreement between the user who downloaded the software,
*  his/her employer (which must be your employer) and Texas Instruments Incorporated (the
*  "License"). You may not use this Software unless you agree to abide by the terms of the
*  License. The License limits your use, and you acknowledge, that the Software may not be
*  modified, copied or distributed unless embedded on a Texas Instruments microcontroller
*  or used solely and exclusively in conjunction with a Texas Instruments radio frequency
*  transceiver, which is integrated into your product. Other than for the foregoing purpose,
*  you may not use, reproduce, copy, prepare derivative works of, modify, distribute,
*  perform, display or sell this Software and/or its documentation for any purpose.
*
*  YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS
*  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY
*  WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
*  IN NO EVENT SHALL TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
*  NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE
*  THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT LIMITED TO ANY
*  INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST
*  DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY
*  THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
*
*  Should you have any questions regarding your right to use this Software,
*  contact Texas Instruments Incorporated at www.TI.com.
**************************************************************************************************/

#ifndef NWK_FREQ_H
#define NWK_FREQ_H

/* application payload offsets
 *    both */
#define FB_APP_INFO_OS     0
#define FB_TID_OS          1

/* Logical channel number for MOVE request. Frame brodcast so no TID
 * is used. Channel number can occupy the TID location. Same offset
 * used for channel change request. No reply to that frame.
 */
#define F_CHAN_OS          1

/* MGMT frame application requests */
#define  FREQ_REQ_MOVE        0x01
#define  FREQ_REQ_PING        0x02
#define  FREQ_REQ_REQ_MOVE    0x03

/* change the following as protocol developed */
#define MAX_FREQ_APP_FRAME    2

/* set the out frame sizes */
#define  FREQ_REQ_MOVE_FRAME_SIZE   2
#define  FREQ_REQ_PING_FRAME_SIZE   2

/* prototypes */
void nwk_freqInit(void);
fhStatus_t nwk_processFreq(mrfiPacket_t *);

#if defined(FREQUENCY_AGILITY)
smplStatus_t nwk_setChannel(freqEntry_t *);
void nwk_getChannel(freqEntry_t *);
uint8_t nwk_scanForChannels(freqEntry_t *);

smplStatus_t nwk_freqControl(ioctlAction_t, void *);
#endif

#endif
