view cdg-hybrid/cdginc/p_tcpip.val @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents 35f7a1dc9f7d
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_tcpip.val                                                    |
| SOURCE  : "sap\tcpip.pdf"                                                |
| LastModified : "2003-09-05"                                              |
| IdAndVersion : "8462.000.03.005"                                         |
| SrcFileTime  : "Thu Nov 29 09:55:14 2007"                                |
| Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_TCPIP_VAL
#define P_TCPIP_VAL


#define CDG_ENTER__P_TCPIP_VAL

#define CDG_ENTER__FILENAME _P_TCPIP_VAL
#define CDG_ENTER__P_TCPIP_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_TCPIP_VAL__LAST_MODIFIED _2003_09_05
#define CDG_ENTER__P_TCPIP_VAL__ID_AND_VERSION _8462_000_03_005

#define CDG_ENTER__P_TCPIP_VAL__SRC_FILE_TIME _Thu_Nov_29_09_55_14_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_TCPIP_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_ipproto
 */
#define TCPIP_IPPROTO_TCP              (0x6)      /* Value for TCP                  */
#define TCPIP_IPPROTO_UDP              (0x11)     /* Value for UDP                  */

/*
 * Value constants for VAL_event_type
 */
#define TCPIP_EVT_CREATE_CNF           (0x1)      /* Result of TCPIP_CREATE_REQ     */
#define TCPIP_EVT_CLOSE_CNF            (0x2)      /* Result of TCPIP_CLOSE_REQ      */
#define TCPIP_EVT_BIND_CNF             (0x3)      /* Result of TCPIP_BIND_REQ       */
#define TCPIP_EVT_LISTEN_CNF           (0x4)      /* Result of TCPIP_LISTEN_REQ     */
#define TCPIP_EVT_CONNECT_CNF          (0x5)      /* Result of TCPIP_CONNECT_REQ    */
#define TCPIP_EVT_SOCKNAME_CNF         (0x6)      /* Result of TCPIP_SOCKNAME_REQ   */
#define TCPIP_EVT_PEERNAME_CNF         (0x7)      /* Result of TCPIP_PEERNAME_REQ   */
#define TCPIP_EVT_HOSTINFO_CNF         (0x8)      /* Result of TCPIP_HOSTINFO_REQ   */
#define TCPIP_EVT_MTU_SIZE_CNF         (0x9)      /* Result of TCPIP_MTU_SIZE_REQ   */
#define TCPIP_EVT_RECV_IND             (0xa)      /* Indication of incoming data    */
#define TCPIP_EVT_CONNECT_IND          (0xb)      /* Indication of incoming connection */
#define TCPIP_EVT_CONN_CLOSED_IND      (0xc)      /* Indication of remotely closed connection */
#define TCPIP_EVT_ERROR_IND            (0xd)      /* Indication of asynchronous error */
#define TCPIP_EVT_FLOW_READY_IND       (0xe)      /* Flow Control: application can send again (not used by a TCPIP primitive!) */

/*
 * Value constants for VAL_result
 */
#define TCPIP_RESULT_OK                (0x0)      /* Operation was successful.      */
#define TCPIP_RESULT_INVALID_PARAMETER (0x1)      /* A parameter was invalid.       */
#define TCPIP_RESULT_INTERNAL_ERROR    (0x2)      /* An internal error has happened. */
#define TCPIP_RESULT_ADDR_IN_USE       (0x3)      /* The address or port is already in use. */
#define TCPIP_RESULT_OUT_OF_MEMORY     (0x4)      /* There is not enough memory to fulfill the request. */
#define TCPIP_RESULT_NOT_SUPPORTED     (0x5)      /* The socket is not of a type that can support this operation. */
#define TCPIP_RESULT_UNREACHABLE       (0x6)      /* The specified host cannot be reached. */
#define TCPIP_RESULT_CONN_REFUSED      (0x7)      /* The connection to the specified address was refused by the remote host. */
#define TCPIP_RESULT_TIMEOUT           (0x8)      /* The connection attempt timed out without establishing a connection. */
#define TCPIP_RESULT_IS_CONNECTED      (0x9)      /* The request could not be fulfilled because the socket is already connected. */
#define TCPIP_RESULT_HOST_NOT_FOUND    (0xa)      /* The specified host could not be found in the DNS. */
#define TCPIP_RESULT_DNS_TEMP_ERROR    (0xb)      /* A temporary DNS error has occurred. Retrying the query may be successful. */
#define TCPIP_RESULT_DNS_PERM_ERROR    (0xc)      /* A permanent DNS error has occurred. */
#define TCPIP_RESULT_NO_IPADDR         (0xd)      /* The specified name has been found in the DNS, but no IP address is available. */
#define TCPIP_RESULT_NOT_CONNECTED     (0xe)      /* The socket has not been connected yet. */
#define TCPIP_RESULT_MSG_TOO_BIG       (0xf)      /* The size of the data buffer is too large for a UDP socket. */
#define TCPIP_RESULT_CONN_RESET        (0x10)     /* The connection has been reset by the remote peer. */
#define TCPIP_RESULT_CONN_ABORTED      (0x11)     /* The connection was aborted due to timeout or some other error condition. */
#define TCPIP_RESULT_NO_BUFSPACE       (0x12)     /* Sending failed temporarily because the space to buffer the message was exhausted. The application should wait for a TCPIP_FLOW_READY_IND event to retry the operation. */
#define TCPIP_RESULT_NETWORK_LOST      (0x13)     /* The operation failed because TCP/IP's network connection has been disconnected. */
#define TCPIP_RESULT_NOT_READY         (0x14)     /* The operation failed because the TCP/IP entity was not yet initialised. */

/*
 * Value constants for VAL_if_up
 */
#define TCPIP_IFCONFIG_DOWN            (0x0)      /* Interface going down           */
#define TCPIP_IFCONFIG_UP              (0x1)      /* Interface coming up            */

/*
 * Value constants for VAL_dti_direction
 */
#define TCPIP_DTI_TO_HIGHER_LAYER      (0x0)      /* Connect to higher layer, i. e. an application */
#define TCPIP_DTI_TO_LOWER_LAYER       (0x1)      /* Connect to lower layer, i. e. to protocol stack */

/*
 * Value constants for VAL_dti_conn
 */
#define TCPIP_CONNECT_DTI              (0x0)      /* Connect the DTI link           */
#define TCPIP_DISCONNECT_DTI           (0x1)      /* Disconnect the DTI link        */

/*
 * user defined constants
 */
#define TCPIP_HNAMELEN                 (0x100)    
#define TCPIP_DEFAULT_MTU_SIZE         (0x5dc)    
#define TCPIP_UNSPECIFIED_IPADDR       (0x0)      
#define TCPIP_UNSPECIFIED_PORT         (0x0)      

#include "CDG_LEAVE.h"


#endif