1 |
hedin |
91 |
/*********************************************************************
|
2 |
|
|
*
|
3 |
|
|
* ARP Module Defs for Microchip TCP/IP Stack
|
4 |
|
|
*
|
5 |
|
|
*********************************************************************
|
6 |
|
|
* FileName: ARP.h
|
7 |
|
|
* Dependencies: Stacktsk.h
|
8 |
|
|
* MAC.h
|
9 |
|
|
* Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F
|
10 |
|
|
* Complier: Microchip C18 v3.02 or higher
|
11 |
|
|
* Microchip C30 v2.01 or higher
|
12 |
|
|
* Company: Microchip Technology, Inc.
|
13 |
|
|
*
|
14 |
|
|
* Software License Agreement
|
15 |
|
|
*
|
16 |
|
|
* This software is owned by Microchip Technology Inc. ("Microchip")
|
17 |
|
|
* and is supplied to you for use exclusively as described in the
|
18 |
|
|
* associated software agreement. This software is protected by
|
19 |
|
|
* software and other intellectual property laws. Any use in
|
20 |
|
|
* violation of the software license may subject the user to criminal
|
21 |
|
|
* sanctions as well as civil liability. Copyright 2006 Microchip
|
22 |
|
|
* Technology Inc. All rights reserved.
|
23 |
|
|
*
|
24 |
|
|
* This software is provided "AS IS." MICROCHIP DISCLAIMS ALL
|
25 |
|
|
* WARRANTIES, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, NOT LIMITED
|
26 |
|
|
* TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
|
27 |
|
|
* INFRINGEMENT. Microchip shall in no event be liable for special,
|
28 |
|
|
* incidental, or consequential damages.
|
29 |
|
|
*
|
30 |
|
|
*
|
31 |
|
|
* Author Date Comment
|
32 |
|
|
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
33 |
|
|
* Nilesh Rajbharti 5/1/01 Original (Rev 1.0)
|
34 |
|
|
* Nilesh Rajbharti 2/9/02 Cleanup
|
35 |
|
|
* Nilesh Rajbharti 5/22/02 Rev 2.0 (See version.log for detail)
|
36 |
|
|
********************************************************************/
|
37 |
|
|
#ifndef ARP_H
|
38 |
|
|
#define ARP_H
|
39 |
|
|
|
40 |
|
|
#include "StackTsk.h"
|
41 |
|
|
#include "MAC.h"
|
42 |
|
|
|
43 |
|
|
/*
|
44 |
|
|
* Following codes are must be used with ARPGet/Put functions.
|
45 |
|
|
*/
|
46 |
|
|
#define ARP_REPLY (0x00)
|
47 |
|
|
#define ARP_REQUEST (0x01)
|
48 |
|
|
#define ARP_UNKNOWN (0x02)
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
/*********************************************************************
|
52 |
|
|
* Function: BOOL ARPGet(NODE_INFO* remote, BYTE* opCode)
|
53 |
|
|
*
|
54 |
|
|
* PreCondition: ARP packet is ready in MAC buffer.
|
55 |
|
|
*
|
56 |
|
|
* Input: remote - Remote node info
|
57 |
|
|
* opCode - Buffer to hold ARP op code.
|
58 |
|
|
*
|
59 |
|
|
* Output: TRUE if a valid ARP packet was received.
|
60 |
|
|
* FALSE otherwise.
|
61 |
|
|
*
|
62 |
|
|
* Side Effects: None
|
63 |
|
|
*
|
64 |
|
|
* Overview: None
|
65 |
|
|
*
|
66 |
|
|
* Note: None
|
67 |
|
|
********************************************************************/
|
68 |
|
|
BOOL ARPGet(NODE_INFO *remote, BYTE *opCode);
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
/*********************************************************************
|
72 |
|
|
* Macro: ARPIsRxReady()
|
73 |
|
|
*
|
74 |
|
|
* PreCondition: None
|
75 |
|
|
*
|
76 |
|
|
* Input: None
|
77 |
|
|
*
|
78 |
|
|
* Output: TRUE if ARP receive buffer is full.
|
79 |
|
|
* FALSE otherwise.
|
80 |
|
|
*
|
81 |
|
|
* Side Effects: None
|
82 |
|
|
*
|
83 |
|
|
* Overview: None
|
84 |
|
|
*
|
85 |
|
|
* Note: None
|
86 |
|
|
********************************************************************/
|
87 |
|
|
#define ARPIsTxReady() MACIsTxReady()
|
88 |
|
|
|
89 |
|
|
|
90 |
|
|
|
91 |
|
|
/*********************************************************************
|
92 |
|
|
* Function: void ARPPut(NODE_INFO* more, BYTE opCode)
|
93 |
|
|
*
|
94 |
|
|
* PreCondition: MACIsTxReady() == TRUE
|
95 |
|
|
*
|
96 |
|
|
* Input: remote - Remote node info
|
97 |
|
|
* opCode - ARP op code to send
|
98 |
|
|
*
|
99 |
|
|
* Output: None
|
100 |
|
|
*
|
101 |
|
|
* Side Effects: None
|
102 |
|
|
*
|
103 |
|
|
* Overview: None
|
104 |
|
|
*
|
105 |
|
|
* Note: None
|
106 |
|
|
********************************************************************/
|
107 |
|
|
BOOL ARPPut(NODE_INFO *remote, BYTE opCode);
|
108 |
|
|
|
109 |
|
|
#endif
|
110 |
|
|
|
111 |
|
|
|