tizen 2.3 release
[kernel/api/system-resource.git] / src / network / tethering-restriction.c
1 /*
2  * resourced
3  *
4  * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20
21 /*
22  * @file tethering-restriction.c
23  *
24  * @desc Implementation of tethering restriction for tethering pseudo app
25  *
26  * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved.
27  *
28  */
29
30 #include "resourced.h"
31 #include "tethering-restriction.h"
32 #include "file-helper.h"
33
34 resourced_ret_c apply_tethering_restriction(
35         const enum traffic_restriction_type type)
36 {
37 #ifdef TETHERING_FEATURE
38         static int tethering_exclude;
39         switch (type) {
40         case RST_SET:
41                 if (!tethering_exclude)
42                         return fwrite_str(PATH_TO_PROC_IP_FORWARD, "0");
43                 return RESOURCED_ERROR_NONE;
44         case RST_UNSET:
45                 tethering_exclude = 0;
46                 return fwrite_str(PATH_TO_PROC_IP_FORWARD, "1");
47         case RST_EXCLUDE:
48                 tethering_exclude = 1;
49                 return fwrite_str(PATH_TO_PROC_IP_FORWARD, "1");
50         default:
51                 return RESOURCED_ERROR_INVALID_PARAMETER;
52
53         }
54 #else
55         return RESOURCED_ERROR_NONE;
56 #endif /* TETHERING_FEATURE */
57 }