summaryrefslogtreecommitdiff
path: root/usr.sbin/snmpd
diff options
context:
space:
mode:
authorEric Faurot <eric@cvs.openbsd.org>2009-06-06 22:11:26 +0000
committerEric Faurot <eric@cvs.openbsd.org>2009-06-06 22:11:26 +0000
commit50f68aa760ea3f85fa66135f8d541d1a594cc2af (patch)
tree92deba0335c56f93d8ed63b4d1e6dbb1d622af31 /usr.sbin/snmpd
parent4ddd038fdb0bea91650549632c8552ab08f40ad2 (diff)
change the imsg header fields a bit to prepare for upcoming changes.
add a flag field, use u_int32_t for pid_t and extend type to 32 bits for padding. ok pyr@
Diffstat (limited to 'usr.sbin/snmpd')
-rw-r--r--usr.sbin/snmpd/imsg.c9
-rw-r--r--usr.sbin/snmpd/imsg.h13
2 files changed, 12 insertions, 10 deletions
diff --git a/usr.sbin/snmpd/imsg.c b/usr.sbin/snmpd/imsg.c
index cc1d07e0466..6ee66c7d718 100644
--- a/usr.sbin/snmpd/imsg.c
+++ b/usr.sbin/snmpd/imsg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: imsg.c,v 1.6 2009/06/06 05:52:01 pyr Exp $ */
+/* $OpenBSD: imsg.c,v 1.7 2009/06/06 22:11:25 eric Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -125,7 +125,7 @@ imsg_get(struct imsgbuf *ibuf, struct imsg *imsg)
}
int
-imsg_compose(struct imsgbuf *ibuf, u_int16_t type, u_int32_t peerid,
+imsg_compose(struct imsgbuf *ibuf, u_int32_t type, u_int32_t peerid,
pid_t pid, int fd, void *data, u_int16_t datalen)
{
struct buf *wbuf;
@@ -144,7 +144,7 @@ imsg_compose(struct imsgbuf *ibuf, u_int16_t type, u_int32_t peerid,
}
int
-imsg_composev(struct imsgbuf *ibuf, u_int16_t type, u_int32_t peerid,
+imsg_composev(struct imsgbuf *ibuf, u_int32_t type, u_int32_t peerid,
pid_t pid, int fd, const struct iovec *iov, int iovcnt)
{
struct buf *wbuf;
@@ -169,7 +169,7 @@ imsg_composev(struct imsgbuf *ibuf, u_int16_t type, u_int32_t peerid,
/* ARGSUSED */
struct buf *
-imsg_create(struct imsgbuf *ibuf, u_int16_t type, u_int32_t peerid,
+imsg_create(struct imsgbuf *ibuf, u_int32_t type, u_int32_t peerid,
pid_t pid, u_int16_t datalen)
{
struct buf *wbuf;
@@ -182,6 +182,7 @@ imsg_create(struct imsgbuf *ibuf, u_int16_t type, u_int32_t peerid,
}
hdr.type = type;
+ hdr.flags = 0;
hdr.peerid = peerid;
if ((hdr.pid = pid) == 0)
hdr.pid = ibuf->pid;
diff --git a/usr.sbin/snmpd/imsg.h b/usr.sbin/snmpd/imsg.h
index 6f58fab1b0b..f70ddb04a3b 100644
--- a/usr.sbin/snmpd/imsg.h
+++ b/usr.sbin/snmpd/imsg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: imsg.h,v 1.1 2009/06/06 05:52:01 pyr Exp $ */
+/* $OpenBSD: imsg.h,v 1.2 2009/06/06 22:11:25 eric Exp $ */
/*
* Copyright (c) 2006, 2007 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -60,10 +60,11 @@ struct imsgbuf {
};
struct imsg_hdr {
- u_int16_t type;
+ u_int32_t type;
u_int16_t len;
+ u_int16_t flags;
u_int32_t peerid;
- pid_t pid;
+ u_int32_t pid;
};
struct imsg {
@@ -91,11 +92,11 @@ int msgbuf_write(struct msgbuf *);
void imsg_init(struct imsgbuf *, int);
ssize_t imsg_read(struct imsgbuf *);
ssize_t imsg_get(struct imsgbuf *, struct imsg *);
-int imsg_compose(struct imsgbuf *, u_int16_t, u_int32_t, pid_t,
+int imsg_compose(struct imsgbuf *, u_int32_t, u_int32_t, pid_t,
int, void *, u_int16_t);
-int imsg_composev(struct imsgbuf *, u_int16_t, u_int32_t, pid_t,
+int imsg_composev(struct imsgbuf *, u_int32_t, u_int32_t, pid_t,
int, const struct iovec *, int);
-struct buf *imsg_create(struct imsgbuf *, u_int16_t, u_int32_t, pid_t,
+struct buf *imsg_create(struct imsgbuf *, u_int32_t, u_int32_t, pid_t,
u_int16_t);
int imsg_add(struct buf *, void *, u_int16_t);
void imsg_close(struct imsgbuf *, struct buf *);