#!/usr/bin/python2

import ctypes
from ctypes.util import find_library
import sys

SYS_renameat2       = 316
AT_FDCWD            = -100
RENAME_EXCHANGE     = 2

src = sys.argv[1]
dst = sys.argv[2]

print >> sys.stderr, "Swap {!r} <=> {!r}".format(src, dst)

libc = ctypes.CDLL(find_library("c"), use_errno=True)
ret = libc.syscall(SYS_renameat2,
    AT_FDCWD, src, AT_FDCWD, dst, RENAME_EXCHANGE)
if ret != 0:
    raise Exception("renameat2 failed: {}".format(ctypes.get_errno()))
