original files of m241
This commit is contained in:
@@ -0,0 +1,382 @@
|
||||
/* ipdhcpr.h - API of DHCP Relay Agent */
|
||||
|
||||
/*
|
||||
******************************************************************************
|
||||
* HEADER FILE
|
||||
*
|
||||
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipdhcpr.h,v $ $Revision: 1.8 $
|
||||
* $Source: /home/interpeak/CVSRoot/ipdhcpr/include/ipdhcpr.h,v $
|
||||
* $Author: fguo $ $Date: 2010-07-09 11:36:41 $
|
||||
* $State: Exp $ $Locker: $
|
||||
*
|
||||
* INTERPEAK_COPYRIGHT_STRING
|
||||
* Design and implementation by Jonas Rendel <jonas@interpeak.se>
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef IPDHCPR_H
|
||||
#define IPDHCPR_H
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 1 DESCRIPTION
|
||||
****************************************************************************
|
||||
*/
|
||||
/*
|
||||
DESCRIPTION
|
||||
This library contains the API for DHCP Relay Agent
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 2 CONFIGURATION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 3 INCLUDE FILES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#include <ipcom_cstyle.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 4 DEFINES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#define IPDHCPR_RELEASE 60600
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* DHCPR Eternity constant
|
||||
*===========================================================================
|
||||
* To be used for setting certain timer constanst in ipdhcpr_config.h
|
||||
*/
|
||||
|
||||
#define IPDHCPR_ETERNITY 0xffffffff
|
||||
/*
|
||||
*===========================================================================
|
||||
* DHCP hardware types
|
||||
*===========================================================================
|
||||
* Hardware types handled by the IPDHCPR.
|
||||
*/
|
||||
|
||||
#define IPDHCPR_HWTYPE_ETHERNET 1
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 5 TYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* Ipdhcpr_open
|
||||
*===========================================================================
|
||||
*/
|
||||
|
||||
typedef struct Ipdhcpr_open_struct
|
||||
{
|
||||
Ip_u32 api_version; /* Currently version 1. Used for future compability. */
|
||||
}
|
||||
Ipdhcpr_open;
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 6 FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
/*
|
||||
*===========================================================================
|
||||
* Ipdhcpr_init
|
||||
*===========================================================================
|
||||
* Description: Initiate IPDHPCR
|
||||
* Parameters:
|
||||
* Returns: IPCOM_SUCCESS - success
|
||||
* other - failure
|
||||
*/
|
||||
IP_PUBLIC Ip_err ipdhcpr_create(void);
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* Ipdhcpr_exit
|
||||
*===========================================================================
|
||||
* Description:
|
||||
* Parameters:
|
||||
* Returns:
|
||||
*
|
||||
*/
|
||||
IP_PUBLIC Ip_err ipdhcpr_start(void);
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* ipdhpcr_version
|
||||
*===========================================================================
|
||||
* Description:
|
||||
* Parameters:
|
||||
* Returns:
|
||||
*
|
||||
*/
|
||||
IP_PUBLIC const char *ipdhcpr_version(void);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_interface_status_set - set the status of an interface handled by IPDHCPR
|
||||
*
|
||||
* This routine sets the status of an interface handled by IPDHCPR. The interface
|
||||
* is specified by its name.
|
||||
*
|
||||
* Parameters:
|
||||
* \is
|
||||
* \i <ifname>
|
||||
* Name of interface.
|
||||
* \i <status>
|
||||
* Enable ('IP_TRUE') or disable ('IP_FALSE') the interface.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or the following error:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_FOUND'
|
||||
* No interface with specified name found.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_GLOBAL Ip_err ipdhcpr_interface_status_set
|
||||
(
|
||||
char* ifname,
|
||||
Ip_bool status
|
||||
);
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_interface_option82 - set the circuit ID or remote ID handled by IPDHCPR
|
||||
*
|
||||
* This routine configure the circuit ID or remote ID for a specied interface.
|
||||
*
|
||||
* Parameter:
|
||||
* \is
|
||||
* \i <ifname>
|
||||
* Name of interface.
|
||||
* \i <circuit_id>
|
||||
* The circuit identifier string for option82.
|
||||
* \i <remote_id>
|
||||
* The remote identifier string for option82.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or one of the following errors:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_OPENED'
|
||||
* IPDHCPR not started.
|
||||
* \i 'IPCOM_ERR_NOT_FOUND'
|
||||
* Server does not exist.
|
||||
* \i 'IPCOM_ERR_NO_MEMORY'
|
||||
* Out of memory.
|
||||
* \i 'IPCOM_ERR_INVALID_ARG'
|
||||
* Invalid address.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_PUBLIC Ip_err ipdhcpr_interface_option82
|
||||
(
|
||||
char* ifname,
|
||||
char* circuit_id,
|
||||
char *remote_id
|
||||
);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_option82_auth_set - set the status of authentication handled by IPDHCPR
|
||||
*
|
||||
* This routine sets the status of option82 authentication handled by IPDHCPR.
|
||||
*
|
||||
* Parameters:
|
||||
* \is
|
||||
* \i <status>
|
||||
* Enable ('IP_TRUE') or disable ('IP_FALSE') the option82 authentication.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or the following error:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_OPENED'
|
||||
* IPDHCPR not started.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_GLOBAL Ip_err ipdhcpr_option82_auth_set
|
||||
(
|
||||
Ip_bool status
|
||||
);
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_interface_status_set - set the status of drop policy handled by IPDHCPR
|
||||
*
|
||||
* This routine sets the status of drop policy handled by IPDHCPR.
|
||||
*
|
||||
* Parameters:
|
||||
* \is
|
||||
* \i <status>
|
||||
* Enable ('IP_TRUE') or disable ('IP_FALSE') the option82 drop policy.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or the following error:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_OPENED'
|
||||
* IPDHCPR not started.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_GLOBAL Ip_err ipdhcpr_option82_drop_set
|
||||
(
|
||||
Ip_bool status
|
||||
);
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_server_option82 - Configure share key of option82 AUTH suboption.
|
||||
*
|
||||
* This routine configure a share key of option82 AUTH suboption to the DHCP
|
||||
* relay agent.
|
||||
*
|
||||
* Parameter:
|
||||
* \is
|
||||
* \i <addr>
|
||||
* IPv4 address of server in network byte order.
|
||||
* \i <auth>
|
||||
* Enable ('IP_TRUE') or disable ('IP_FALSE') authentication on a server.
|
||||
* \i <auth_key>
|
||||
* authentication share key string.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or one of the following errors:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_OPENED'
|
||||
* IPDHCPR not started.
|
||||
* \i 'IPCOM_ERR_NOT_FOUND'
|
||||
* Server does not exist.
|
||||
* \i 'IPCOM_ERR_NO_MEMORY'
|
||||
* Out of memory.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_PUBLIC Ip_err ipdhcpr_server_option82
|
||||
(
|
||||
Ip_u32 addr,
|
||||
Ip_bool auth,
|
||||
char *auth_key
|
||||
);
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_server_add - add a new server address to the DHCP relay agent
|
||||
*
|
||||
* This routine adds a new server address to the DHCP relay agent configuration.
|
||||
*
|
||||
* Parameter:
|
||||
* \is
|
||||
* \i <addr>
|
||||
* IPv4 address of server in network byte order.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or one of the following errors:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_OPENED'
|
||||
* IPDHCPR not started.
|
||||
* \i 'IPCOM_ERR_ALREADY_INSTALLED'
|
||||
* Server already exists.
|
||||
* \i 'IPCOM_ERR_NO_MEMORY'
|
||||
* Out of memory.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_PUBLIC Ip_err ipdhcpr_server_add
|
||||
(
|
||||
Ip_u32 addr
|
||||
);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ipdhcpr_server_delete - delete a server address
|
||||
*
|
||||
* Delete a server address from the DHCP relay agent configuration.
|
||||
*
|
||||
* Parameter:
|
||||
* \is
|
||||
* \i <addr>
|
||||
* IPv4 address of server in network byte order.
|
||||
* \ie
|
||||
*
|
||||
* RETURNS: Either 'IPCOM_SUCCESS', or one of the following errors:
|
||||
* \is
|
||||
* \i 'IPCOM_ERR_NOT_OPENED'
|
||||
* IPDHCPR not started.
|
||||
* \i 'IPCOM_ERR_NOT_FOUND'
|
||||
* Server does not exist.
|
||||
* \i 'IPCOM_ERR_INVALID_ARG'
|
||||
* Invalid address.
|
||||
* \ie
|
||||
*
|
||||
* ERRNO:
|
||||
*/
|
||||
IP_PUBLIC Ip_err ipdhcpr_server_delete
|
||||
(
|
||||
Ip_u32 addr
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* Ipdhcpr_cmd_dhcpr
|
||||
*===========================================================================
|
||||
* Description: Install IPDHCPR shell commands
|
||||
* Parameters:
|
||||
* Returns:
|
||||
*
|
||||
*/
|
||||
#ifdef IPDHCPR_INCLUDE_CMD
|
||||
IP_GLOBAL int ipdhcpr_cmd_dhcpr(int argc, char **argv);
|
||||
#endif
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* ipdhcpr_user_start_hook
|
||||
*===========================================================================
|
||||
* Description: Routine with user supplied code called at startup of IPDHCPR.
|
||||
* It can be used for adding configuration to IPDHCPR etc. etc.
|
||||
* Parameters: -
|
||||
* Returns: 0 - success
|
||||
* -1 - failure
|
||||
*
|
||||
*/
|
||||
|
||||
IP_GLOBAL int
|
||||
ipdhcpr_start_hook(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* END OF FILE
|
||||
****************************************************************************
|
||||
*/
|
||||
Reference in New Issue
Block a user