blob: 95c2d92bb483ac6cc0315363ff15ced8159c37f2 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*************************************************************
36*
37* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
38*
39* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
40*
41* Copyright (c) 2002-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44/*****************************************************************************
45*
46* FILE NAME : tlsapi.h
47*
48* DESCRIPTION : API definition for TLS task.
49*
50* HISTORY :
51*****************************************************************************/
52#ifndef _TLSAPI_H_
53#define _TLSAPI_H_
54
55/*----------------------------------------------------------------------------
56 Include Files
57----------------------------------------------------------------------------*/
58#include "do_msgdefs.h"
59#include "syscommon.h"
60/*----------------------------------------------------------------------------
61 Global Defines and Macros
62----------------------------------------------------------------------------*/
63#define TLS_PRIORITY_STRING_LEN 256
64#define TLS_MAX_SPY_LEN 164
65
66/*----------------------------------------------------------------------------
67 Mailbox IDs
68----------------------------------------------------------------------------*/
69#define TLS_MAILBOX_CMD EXE_MAILBOX_1_ID
70
71/*----------------------------------------------------------------------------
72 Command Message IDs, for TLS task, for TLS_MAILBOX_CMD, EXE_MAILBOX_1_ID
73 The messages IDs for components shall also be put in here.
74----------------------------------------------------------------------------*/
75typedef enum /*_Message_ID_define*/
76{
77 TLS_TEST_ANON_MSG = TLS_CMD_MSGID_START,
78 TLS_TRANSPORT_CONNECT_RSP_MSG,
79 TLS_HANDSHAKE_MSG,
80 TLS_TIMER_EXPIRED_MSG,
81 TLS_HANDSHAKE_FINISH_MSG,
82 TLS_RECORD_RECV_MSG,
83 TLS_BYE_MSG,
84 TLS_TEST_X509_MSG,
85 TLS_TEST_OPENPGP_MSG,
86
87 TLS_VAL_CONN_REQ,
88 TLS_VAL_SEND_REQ,
89 TLS_VAL_CLOSE_REQ,
90
91
92 TLS_CMD_MSGID_LAST
93} TlsMsgIdT;
94
95typedef enum /*_Trace_ID_define*/
96{
97 TLS_TRACE_PEER_CLOSED_TLS_CONNECTION,
98 TLS_TRACE_RECV_RECORD_ERROR,
99 TLS_TRACE_HANDSHAKE_ERROR,
100 TLS_TRACE_HANDSHAKE_IN_PROGRESS,
101 TLS_TRACE_HANDSHAKE_COMPLETE,
102
103 TLS_TRACE_LAST
104} TlsGeneralTraceIdT;
105
106typedef PACKED_PREFIX struct
107{
108 kal_uint8 Priorities[TLS_PRIORITY_STRING_LEN];
109} PACKED_POSTFIX TlsTestMsgT;
110
111typedef struct {
112 void *session;
113} TlsByeMsgT;
114
115typedef struct {
116 void *session;
117} TlsHandshakeMsgT;
118
119typedef struct {
120 void *session;
121} TlsHandshakeFinishMsgT;
122
123typedef struct {
124 void *session;
125} TlsRecordRecvMsgT;
126
127typedef PACKED_PREFIX struct{
128 kal_uint16 TimerID;
129} PACKED_POSTFIX TlsTimerExpiredMsgT;
130
131
132
133/* The UE shall only support Alternative Client Authentication based security. */
134typedef struct {
135 kal_uint32 addressType; /* 0: IPV4, 1: IPv6, 2: both */
136 kal_uint32 address[5]; /* [0]: IPV4 address, [1]-[4] IPV6 address */
137 kal_uint16 locadPort;
138 kal_uint16 remotePort;
139 kal_uint16 certType;
140 kal_uint16 certLength;
141 kal_uint8 certBuf[1];
142}TlsOpenReqMsgT;
143
144
145typedef struct {
146 kal_uint32 len; /* length of data to be sent */
147 kal_uint8 * buf; /* buffer of data */
148}TlsSendMsgT;
149
150typedef struct
151{
152 kal_uint16 len;
153 kal_uint8 *buf;
154}ValTlsSendRspT;
155
156/*****************************************************************************
157* End of File
158*****************************************************************************/
159#endif
160
161