Subversion Repositories HomeAutomation

Rev

Rev 363 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. /*********************************************************************
  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 "..\Include\StackTsk.h"
  41. #include "..\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(TRUE)
  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.  
  112.