summaryrefslogtreecommitdiffhomepage
path: root/digital/zigbit/bitcloud/stack/Components/MAC_PHY/MAC_HWI/include/machwiDisassociateHandler.h
blob: fa04e5c796af8db13d18752e7d7e2f2397edee8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/******************************************************************************
  \file machwiDisassociate.h

  \author
    Atmel Corporation: http://www.atmel.com \n
    Support email: avr@atmel.com

  Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
  Licensed under Atmel's Limited License Agreement (BitCloudTM).

  \internal
    History:
      14/08/07 A. Mandychev - Created.
******************************************************************************/

#ifndef _MACHWIDISASSOCIATE_H
#define _MACHWIDISASSOCIATE_H
#ifdef _MAC_DISASSOCIATE_


/******************************************************************************
                    Includes section
******************************************************************************/
#include <macFrame.h>
#include <macDisassociate.h>
#include <machwiManager.h>

/******************************************************************************
                    Define(s) section
******************************************************************************/

/******************************************************************************
                    Types section
******************************************************************************/
typedef enum
{
  MACHWI_IDLE_DISASSOCIATE_STATE,
  MACHWI_SET_PAN_ID_DISASSOCIATE_STATE,
  MACHWI_SET_SHORT_ADDR_DISASSOCIATE_STATE,
} MachwiDisassociateState_t;

/******************************************************************************
                    Constants section
******************************************************************************/

/******************************************************************************
                    External variables
******************************************************************************/

/******************************************************************************
                    Prototypes section
******************************************************************************/
/******************************************************************************
  Resets disassociate component.
  Parameters:
    none.
  Returns:
    none.
******************************************************************************/
void machwiResetDisassociateHandler(void);

/******************************************************************************
 Checks disassociation request parameters, sends disassociation notification
 command.
 Parameters:
   none.
 Returns:
   current status of operation (success or "in progress").
******************************************************************************/
MachwiHandlerResult_t machwiDisassociateReqHandler(void);

/******************************************************************************
  Sets disassociation notification command fields.
  Parameters:
    frameDescr      - pointer to frame descriptor which will be set.
    disassociateReq - pointer to disassociation notification command
      parameters.
  Returns:
    none.
******************************************************************************/
void machwiPrepareDisassociateNotifCmdFrame(
  MAC_FrameDescr_t *frameDescr,
  MAC_DisassociateReq_t *disassociateReq);

/******************************************************************************
  Indicates, that disassociation notification command frame was received.
  Parameters:
    frameDescr - frame description.
  Returns:
    none.
******************************************************************************/
void machwiDisassociateNotifInd(MAC_FrameDescr_t *frameDescr);

#endif // _MAC_DISASSOCIATE_

#endif /* _MACHWIDISASSOCIATE_H */

// eof machwiDisassociate.h