[
    {
        "name": "sv_obj_clone",
        "returns": "Handle",
        "args": [
            {
                "name": "hdl",
                "ty": "Handle"
            }
        ]
    },
    {
        "name": "sv_obj_feat",
        "returns": "()",
        "args": [
            {
                "name": "hdl",
                "ty": "*mut Handle"
            },
            {
                "name": "feat",
                "ty": "Feature"
            }
        ]
    },
    {
        "name": "sv_obj_drop",
        "returns": "()",
        "args": [
            {
                "name": "hdl",
                "ty": "Handle"
            }
        ]
    },
    {
        "name": "sv_obj_wait",
        "returns": "usize",
        "args": [
            {
                "name": "hdl",
                "ty": "Handle"
            },
            {
                "name": "timeout_us",
                "ty": "u64"
            },
            {
                "name": "wake_all",
                "ty": "bool"
            },
            {
                "name": "signal",
                "ty": "usize"
            }
        ]
    },
    {
        "name": "sv_obj_await",
        "returns": "Handle",
        "args": [
            {
                "name": "hdl",
                "ty": "Handle"
            },
            {
                "name": "wake_all",
                "ty": "bool"
            },
            {
                "name": "signal",
                "ty": "usize"
            }
        ]
    },
    {
        "name": "sv_obj_awend",
        "returns": "usize",
        "args": [
            {
                "name": "waiter",
                "ty": "Handle"
            },
            {
                "name": "timeout_us",
                "ty": "u64"
            }
        ]
    }
]