1/*
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
25void rilEventAddWakeup_helper(struct ril_event *ev);
26int blockingWrite_helper(int fd, void* data, size_t len);
27
28enum SocketWakeType {DONT_WAKE, WAKE_PARTIAL};
29
30typedef enum {
31    RIL_TELEPHONY_SOCKET,
32    RIL_SAP_SOCKET
33} RIL_SOCKET_TYPE;
34
35typedef struct SocketListenParam {
36    RIL_SOCKET_ID socket_id;
37    int fdListen;
38    int fdCommand;
39    const char* processName;
40    struct ril_event* commands_event;
41    struct ril_event* listen_event;
42    void (*processCommandsCallback)(int fd, short flags, void *param);
43    RecordStream *p_rs;
44    RIL_SOCKET_TYPE type;
45} SocketListenParam;
46
47#endif
48