1/*
2 * Copyright 2016 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
17package [email protected];
18
19/**
20 * Callback Interface exposed by the supplicant service
21 * for each network (ISupplicantStaNetwork).
22 *
23 * Clients need to host an instance of this HIDL interface object and
24 * pass a reference of the object to the supplicant via the
25 * corresponding |ISupplicantStaNetwork.registerCallback| method.
26 */
27interface ISupplicantStaNetworkCallback {
28  /** Params of |onNetworkEapSimGsmAuthRequest| request. (Refer RFC 4186) */
29  typedef uint8_t[16] GsmRand;
30  struct NetworkRequestEapSimGsmAuthParams {
31    vec<GsmRand> rands;
32  };
33
34  /** Params of |onNetworkEapSimUmtsAuthRequest| request. (Refer RFC 4187) */
35  struct NetworkRequestEapSimUmtsAuthParams {
36    uint8_t[16] rand;
37    uint8_t[16] autn;
38  };
39
40  /**
41   * Used to request EAP GSM SIM authentication for this particular network.
42   *
43   * The response for the request must be sent using the corresponding
44   * |ISupplicantNetwork.sendNetworkEapSimGsmAuthResponse| call.
45   *
46   * @param params Params associated with the request.
47   */
48  oneway onNetworkEapSimGsmAuthRequest(
49      NetworkRequestEapSimGsmAuthParams params);
50
51  /**
52   * Used to request EAP UMTS SIM authentication for this particular network.
53   *
54   * The response for the request must be sent using the corresponding
55   * |ISupplicantNetwork.sendNetworkEapSimUmtsAuthResponse| call.
56   *
57   * @param params Params associated with the request.
58   */
59  oneway onNetworkEapSimUmtsAuthRequest(
60      NetworkRequestEapSimUmtsAuthParams params);
61
62  /**
63   * Used to request EAP Identity for this particular network.
64   *
65   * The response for the request must be sent using the corresponding
66   * |ISupplicantNetwork.sendNetworkEapIdentityResponse| call.
67   */
68  oneway onNetworkEapIdentityRequest();
69};
70