[PATCH]-ibcs Re: 2.1.131-ac5 - I2O is great to have but does not build...

Juanjo Ciarlante (irriga@impsat1.com.ar)
Fri, 11 Dec 1998 16:47:58 -0300


--XsQoSWH+UP9D9v3l
Content-Type: text/plain; charset=us-ascii

On Thu, Dec 10, 1998 at 05:44:38PM +0000, Alan Cox wrote:
> > :-)) Who is to patch iBCS ? Will it be developers or have I to do it myself?
>
> Why not make it easier for the developers ;)
>
> > I do recall that Linus did rather officially left Alan to look after the
> > biting penguin :-))
>
> The actual changes that have gone on are fairly small. The structures
> used for the sys5 message and shm objects have been split into a seperate
> kernel and user visible object to avoid breaking binary compatibility. If
> iBCS is just wrapping the sys_ipc*() calls then you want to use
> old_msg_qbytes old_msg_cbytes instead of msg_qbytes/cbytes
>
> Alan
Just in case... attached patch makes ibcs compile Ok; I did not test it
but it seems the right-thing-todo.

Regards

-- 
-- Juanjo       http://juanjox.home.ml.org/

== free collective power ==---. Linux <------------'

--XsQoSWH+UP9D9v3l Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="ibcs-2.1-981105-2.1.131ac6.diff"

ipc compilation fixes for 2.1.131-ac6 (changes in kernel ipc headers) --- ibcs-2.1-981105/iBCSemul/ipc.c Wed Oct 14 18:54:27 1998 +++ ibcs-2.1-981105-2.1.131ac6/iBCSemul/ipc.c Wed Dec 9 09:40:46 1998 @@ -768,66 +768,66 @@ static void imsq_to_lmsq(struct ibcs_msqid_ds *im, struct msqid_ds *lm) { - ip_to_lp(&im->msg_perm, &lm->msg_perm); - lm->msg_first = im->msg_first; - lm->msg_last = im->msg_last; - lm->msg_cbytes = im->msg_cbytes; + ip_to_lp(&im->msg_perm, &lm->u.msg_perm); + lm->u.msg_first = im->msg_first; + lm->u.msg_last = im->msg_last; + lm->c.msg_cbytes = im->msg_cbytes; lm->msg_qnum = im->msg_qnum; - lm->msg_qbytes = im->msg_qbytes; + lm->q.msg_qbytes = im->msg_qbytes; lm->msg_lspid = im->msg_lspid; lm->msg_lrpid = im->msg_lrpid; - lm->msg_stime = im->msg_stime; - lm->msg_rtime = im->msg_rtime; - lm->msg_ctime = im->msg_ctime; + lm->u.msg_stime = im->msg_stime; + lm->u.msg_rtime = im->msg_rtime; + lm->u.msg_ctime = im->msg_ctime; } static void lmsq_to_imsq(struct msqid_ds *lm, struct ibcs_msqid_ds *im) { - lp_to_ip(&lm->msg_perm, &im->msg_perm); - im->msg_first = lm->msg_first; - im->msg_last = lm->msg_last; - im->msg_cbytes = lm->msg_cbytes; + lp_to_ip(&lm->u.msg_perm, &im->msg_perm); + im->msg_first = lm->u.msg_first; + im->msg_last = lm->u.msg_last; + im->msg_cbytes = lm->c.msg_cbytes; im->msg_qnum = lm->msg_qnum; - im->msg_qbytes = lm->msg_qbytes; + im->msg_qbytes = lm->q.msg_qbytes; im->msg_lspid = lm->msg_lspid; im->msg_lrpid = lm->msg_lrpid; - im->msg_stime = lm->msg_stime; - im->msg_rtime = lm->msg_rtime; - im->msg_ctime = lm->msg_ctime; + im->msg_stime = lm->u.msg_stime; + im->msg_rtime = lm->u.msg_rtime; + im->msg_ctime = lm->u.msg_ctime; } static void imsq_to_lmsq_l(struct ibcs_msqid_ds_l *im, struct msqid_ds *lm) { - ip_to_lp_l(&im->msg_perm, &lm->msg_perm); - lm->msg_first = im->msg_first; - lm->msg_last = im->msg_last; - lm->msg_cbytes = im->msg_cbytes; + ip_to_lp_l(&im->msg_perm, &lm->u.msg_perm); + lm->u.msg_first = im->msg_first; + lm->u.msg_last = im->msg_last; + lm->c.msg_cbytes = im->msg_cbytes; lm->msg_qnum = im->msg_qnum; - lm->msg_qbytes = im->msg_qbytes; + lm->q.msg_qbytes = im->msg_qbytes; lm->msg_lspid = im->msg_lspid; lm->msg_lrpid = im->msg_lrpid; - lm->msg_stime = im->msg_stime; - lm->msg_rtime = im->msg_rtime; - lm->msg_ctime = im->msg_ctime; + lm->u.msg_stime = im->msg_stime; + lm->u.msg_rtime = im->msg_rtime; + lm->u.msg_ctime = im->msg_ctime; } static void lmsq_to_imsq_l(struct msqid_ds *lm, struct ibcs_msqid_ds_l *im) { memset(im, 0, sizeof(*im)); - lp_to_ip_l(&lm->msg_perm, &im->msg_perm); - im->msg_first = lm->msg_first; - im->msg_last = lm->msg_last; - im->msg_cbytes = lm->msg_cbytes; + lp_to_ip_l(&lm->u.msg_perm, &im->msg_perm); + im->msg_first = lm->u.msg_first; + im->msg_last = lm->u.msg_last; + im->msg_cbytes = lm->c.msg_cbytes; im->msg_qnum = lm->msg_qnum; - im->msg_qbytes = lm->msg_qbytes; + im->msg_qbytes = lm->q.msg_qbytes; im->msg_lspid = lm->msg_lspid; im->msg_lrpid = lm->msg_lrpid; - im->msg_stime = lm->msg_stime; - im->msg_rtime = lm->msg_rtime; - im->msg_ctime = lm->msg_ctime; + im->msg_stime = lm->u.msg_stime; + im->msg_rtime = lm->u.msg_rtime; + im->msg_ctime = lm->u.msg_ctime; } int diff -ur ibcs-2.1-981105/include/ibcs/abi4.h ibcs-2.1-981105-2.1.131ac6/include/ibcs/abi4.h --- ibcs-2.1-981105/include/ibcs/abi4.h Thu Oct 8 18:32:57 1998 +++ ibcs-2.1-981105-2.1.131ac6/include/ibcs/abi4.h Wed Dec 9 13:11:48 1998 @@ -90,6 +90,7 @@ unsigned long f_bavail; unsigned long f_files; unsigned long f_free; + unsigned long f_favail; unsigned long f_sid; char f_basetype[16]; unsigned long f_flag;

--XsQoSWH+UP9D9v3l--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/