blob: ef59a70ce436eb7d076283d9fdc5c01d1ec25164 [file] [log] [blame]
Dheeraj Shettycc231012014-07-02 21:27:57 +02001/*
2* Copyright (C) 2014 The Android Open Source Project
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16
17#ifndef RIL_EX_H_INCLUDED
18#define RIL_EX_H_INCLUDED
19
20#include <telephony/ril.h>
21#include <telephony/record_stream.h>
22
23#define NUM_ELEMS_SOCKET(a) (sizeof (a) / sizeof (a)[0])
24
Martin Bouchet0d4bbaf2017-09-23 04:54:37 -030025struct ril_event;
26
Dheeraj Shettycc231012014-07-02 21:27:57 +020027void rilEventAddWakeup_helper(struct ril_event *ev);
28void listenCallback_helper(int fd, short flags, void *param);
29int blockingWrite_helper(int fd, void* data, size_t len);
30
31enum SocketWakeType {DONT_WAKE, WAKE_PARTIAL};
32
33typedef enum {
34 RIL_TELEPHONY_SOCKET,
35 RIL_SAP_SOCKET
36} RIL_SOCKET_TYPE;
37
38typedef struct SocketListenParam {
39 RIL_SOCKET_ID socket_id;
40 int fdListen;
41 int fdCommand;
Christopher N. Hesse65084862017-02-07 22:21:27 +010042 const char* processName;
Dheeraj Shettycc231012014-07-02 21:27:57 +020043 struct ril_event* commands_event;
44 struct ril_event* listen_event;
45 void (*processCommandsCallback)(int fd, short flags, void *param);
46 RecordStream *p_rs;
47 RIL_SOCKET_TYPE type;
48} SocketListenParam;
49
50#endif