45312f52ff3a3d4c137447be4c7556500c2f8bf2Timo Sirainen#!/usr/bin/python
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# CDDL HEADER START
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen#
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# The contents of this file are subject to the terms of the
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# Common Development and Distribution License (the "License").
9bb91f1dbf7cf8cfbd2df7784101df98d59fb46dTimo Sirainen# You may not use this file except in compliance with the License.
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# or http://www.opensolaris.org/os/licensing.
fc464e5b2b2ab4d415a5d5b90ce4475d34620a75Timo Sirainen# See the License for the specific language governing permissions
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# and limitations under the License.
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# When distributing Covered Code, include this CDDL HEADER in each
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde# If applicable, add the following below this CDDL HEADER, with the
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen# fields enclosed by brackets "[]" replaced with your own identifying
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen# information: Portions Copyright [yyyy] [name of copyright owner]
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen#
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen# CDDL HEADER END
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen#
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainen
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainenfrom __future__ import unicode_literals
64bfe7b4a42512971db154937905dfa2bdb9cf2cTimo Sirainenfrom cffi import FFI
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainenffi = FFI()
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainenffi.set_source("_syscallat", """
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde/* Includes */
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#include <fcntl.h>
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde#include <sys/stat.h>
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen#include <sys/types.h>
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainen#include <unistd.h>
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde""")
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainen
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainenffi.cdef("""
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainen/* Types */
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainentypedef int... mode_t; /* file attribute type */
4b1359bde7d32667197548652a4b4f540062e2acTimo Sirainen
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde/* Functions */
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainenint mkdirat(int, const char *, mode_t);
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainenint openat(int, const char *, int, mode_t);
fc71e94957d0c2959a609450a2f303640d681858Sascha Wildeint renameat(int, const char *, int, const char *);
aba994a4e79a020b4748e0ceffc194e5a18e1d1aTimo Sirainenint unlinkat(int, const char *, int);
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde""")
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde
9f10cc61ec303351b43e54155c86699ef53cb8beTimo Sirainenif __name__ == "__main__":
fc464e5b2b2ab4d415a5d5b90ce4475d34620a75Timo Sirainen ffi.compile(tmpdir="./cffi_src")
9f10cc61ec303351b43e54155c86699ef53cb8beTimo Sirainen