From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753973AbbFXMok (ORCPT ); Wed, 24 Jun 2015 08:44:40 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:37141 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752754AbbFXMct (ORCPT ); Wed, 24 Jun 2015 08:32:49 -0400 From: Wang Nan To: , , , , , , , , , , CC: , , , , Subject: [RFC PATCH v8 20/49] bpf tools: Introduce accessors for struct bpf_object Date: Wed, 24 Jun 2015 12:31:24 +0000 Message-ID: <1435149113-51142-21-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <1435149113-51142-1-git-send-email-wangnan0@huawei.com> References: <1435149113-51142-1-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.107.197.200] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch add an accessor which allows caller to get count of programs in an object file. Signed-off-by: Wang Nan Acked-by: Alexei Starovoitov --- tools/lib/bpf/libbpf.c | 9 +++++++++ tools/lib/bpf/libbpf.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index acf9190..fec1624 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -924,6 +924,15 @@ void bpf_object__close(struct bpf_object *obj) free(obj); } +int bpf_object__get_prog_cnt(struct bpf_object *obj, size_t *pcnt) +{ + if (!obj || !pcnt) + return -EINVAL; + + *pcnt = obj->nr_programs; + return 0; +} + struct bpf_program * bpf_program__next(struct bpf_program *prev, struct bpf_object *obj) { diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h index 3c54558..d11664b 100644 --- a/tools/lib/bpf/libbpf.h +++ b/tools/lib/bpf/libbpf.h @@ -35,6 +35,9 @@ void bpf_object__close(struct bpf_object *object); int bpf_object__load(struct bpf_object *obj); int bpf_object__unload(struct bpf_object *obj); +/* Accessors of bpf_object */ +int bpf_object__get_prog_cnt(struct bpf_object *obj, size_t *pcnt); + /* Accessors of bpf_program. */ struct bpf_program; struct bpf_program *bpf_program__next(struct bpf_program *prog, -- 1.8.3.4