qtaguid.h revision 9b5c774369fcbd4460751f9b01e692d688c386ba
18626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma/*
28626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * Copyright (C) 2011 The Android Open Source Project
38626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma *
48626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * Licensed under the Apache License, Version 2.0 (the "License");
58626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * you may not use this file except in compliance with the License.
68626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * You may obtain a copy of the License at
78626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma *
88626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma *      http://www.apache.org/licenses/LICENSE-2.0
98626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma *
108626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * Unless required by applicable law or agreed to in writing, software
118626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * distributed under the License is distributed on an "AS IS" BASIS,
128626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * See the License for the specific language governing permissions and
148626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * limitations under the License.
158626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma */
168626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma
178626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#ifndef __CUTILS_QTAGUID_H
188626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#define __CUTILS_QTAGUID_H
198626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma
208626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#include <stdint.h>
218626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#include <sys/types.h>
226dce8322d66361e40d1feb5a6c3de15244de5949Ashish Sharma#include <unistd.h>
238626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma
248626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#ifdef __cplusplus
258626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharmaextern "C" {
268626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#endif
278626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma
288626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma/*
298626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma * Set tags (and owning UIDs) for network sockets.
308626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma*/
319b5c774369fcbd4460751f9b01e692d688c386baAshish Sharmaextern int qtaguid_tagSocket(int sockfd, int tag, uid_t uid);
329b5c774369fcbd4460751f9b01e692d688c386baAshish Sharma
339b5c774369fcbd4460751f9b01e692d688c386baAshish Sharma/*
349b5c774369fcbd4460751f9b01e692d688c386baAshish Sharma * Untag a network socket before closing.
359b5c774369fcbd4460751f9b01e692d688c386baAshish Sharma*/
369b5c774369fcbd4460751f9b01e692d688c386baAshish Sharmaextern int qtaguid_untagSocket(int sockfd);
378626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma
388626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#ifdef __cplusplus
398626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma}
408626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#endif
418626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma
428626cce5f381899f47e3a82e2ef4c98f183391b0Ashish Sharma#endif /* __CUTILS_QTAG_UID_H */
43