146490Sbostic /*- 2*61480Sbostic * Copyright (c) 1991, 1993 3*61480Sbostic * The Regents of the University of California. All rights reserved. 446490Sbostic * 546490Sbostic * %sccs.include.redist.c% 646490Sbostic */ 746490Sbostic 846490Sbostic #ifndef lint 9*61480Sbostic static char sccsid[] = "@(#)dkcksum.c 8.1 (Berkeley) 06/05/93"; 1046490Sbostic #endif /* not lint */ 1146490Sbostic 1246490Sbostic #include <sys/types.h> 1346490Sbostic #include <sys/disklabel.h> 1446490Sbostic 1546490Sbostic u_short dkcksum(lp)1646490Sbosticdkcksum(lp) 1746490Sbostic register struct disklabel *lp; 1846490Sbostic { 1946490Sbostic register u_short *start, *end; 2046490Sbostic register u_short sum = 0; 2146490Sbostic 2246490Sbostic start = (u_short *)lp; 2346490Sbostic end = (u_short *)&lp->d_partitions[lp->d_npartitions]; 2446490Sbostic while (start < end) 2546490Sbostic sum ^= *start++; 2646490Sbostic return (sum); 2746490Sbostic } 28