[coreboot] libpayload: Add larfptr function
Myles Watson
mylesgw at gmail.com
Thu May 15 17:36:50 CEST 2008
> -----Original Message-----
> From: Jordan Crouse [mailto:jordan.crouse at amd.com]
> Sent: Wednesday, May 14, 2008 5:08 PM
> To: Myles Watson
> Cc: coreboot at coreboot.org
> Subject: Re: libpayload: Add larfptr function
>
> On 14/05/08 10:11 -0600, Myles Watson wrote:
> >
> >
> > > -----Original Message-----
> > > From: coreboot-bounces at coreboot.org [mailto:coreboot-
> bounces at coreboot.org]
> > > On Behalf Of jordan.crouse at amd.com
> > > Sent: Tuesday, May 13, 2008 5:34 PM
> > > To: coreboot at coreboot.org
> > > Cc: Jordan Crouse
> > > Subject: [coreboot] [patch 3/5] libpayload: Add larfptr function
> > >
> > > Add a function to get a pointer to the start of a LAR entry.
> > >
> > > Signed-off-by: Jordan Crouse <jordan.crouse at amd.com>
> > > Index: libpayload/include/libpayload.h
> > > ===================================================================
> > > --- libpayload.orig/include/libpayload.h 2008-05-13
> > 13:40:12.000000000 -
> > > 0600
> > > +++ libpayload/include/libpayload.h 2008-05-13
15:23:18.000000000 -
> 0600
> > > @@ -247,6 +247,7 @@
> > > struct larent *readlar(struct LAR *lar);
> > > void rewindlar(struct LAR *lar);
> > > int larstat(struct LAR *lar, const char *path, struct larstat *buf);
> > > +void *larfptr(struct LAR *lar, const char *filename);
> > > struct LFILE * lfopen(struct LAR *lar, const char *filename);
> > > int lfread(void *ptr, size_t size, size_t nmemb, struct LFILE
> *stream);
> > >
> > > Index: libpayload/libc/lar.c
> > > ===================================================================
> > > --- libpayload.orig/libc/lar.c 2008-05-13 13:40:12.000000000 -0600
> > > +++ libpayload/libc/lar.c 2008-05-13 13:42:59.000000000 -0600
> > > @@ -218,6 +218,16 @@
> > > return 0;
> > > }
> > >
> > > +void * larfptr(struct LAR *lar, const char *filename)
> > > +{
> > > + struct lar_header *header = get_header_by_name(lar, filename);
> > > +
> > > + if (header == NULL)
> > > + return NULL;
> > > +
> > > + return (void *) ((u8 *) header + ntohl(header->offset));
> > > +}
> > > +
> >
> > Why do we want it to return a void*?
>
> I tend to to use void when I can because its is maliable, but I can
> be convinced to use u8 * or unsigned long *.
Because anything larger than u8 needs ntohl, I'd vote for u8*.
Acked-by: Myles Watson <mylesgw at gmail.com>
Thanks,
Myles
> Jordan
>
>
> --
> Jordan Crouse
> Systems Software Development Engineer
> Advanced Micro Devices, Inc.
More information about the coreboot
mailing list