1ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker/* 2ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * Copyright (C) 2011 The Android Open Source Project 3ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * 4ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * Licensed under the Apache License, Version 2.0 (the "License"); 5ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * you may not use this file except in compliance with the License. 6ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * You may obtain a copy of the License at 7ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * 8ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * http://www.apache.org/licenses/LICENSE-2.0 9ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * 10ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * Unless required by applicable law or agreed to in writing, software 11ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * distributed under the License is distributed on an "AS IS" BASIS, 12ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * See the License for the specific language governing permissions and 14ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker * limitations under the License. 15ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker */ 16ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker 17ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker/* NOTICE: This is a clean room re-implementation of libnl */ 18ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker 19ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker#include "netlink-types.h" 20ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker 21ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Makervoid nl_object_put(struct nl_object *obj) 22ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker{ 23ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker obj->ce_refcnt--; 24ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker if (!obj->ce_refcnt) 25ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker nl_object_free(obj); 26ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker} 27ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker 28ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Makervoid nl_object_free(struct nl_object *obj) 29ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker{ 30ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker nl_cache_remove(obj); 31ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker} 32ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker 33ed6b39cc7746fabdd0d01c96afcf60b9544913d3Frank Maker 34