The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/fs/hpfs/hpfs_subr.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1998, 1999 Semen Ustimenko (semenu@FreeBSD.org)
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  * $FreeBSD: releng/6.4/sys/fs/hpfs/hpfs_subr.h 138487 2004-12-06 20:14:20Z phk $
   27  */
   28 
   29 #define hpfs_bmmarkfree(hpmp, bn,bl) hpfs_bmmark(hpmp, bn, bl, 1)
   30 #define hpfs_bmmarkbusy(hpmp, bn,bl) hpfs_bmmark(hpmp, bn, bl, 0)
   31 
   32 u_long          hpfs_checksum (u_int8_t *, int);
   33 
   34 int             hpfs_bminit (struct hpfsmount *);
   35 void            hpfs_bmdeinit (struct hpfsmount *);
   36 int             hpfs_bmfblookup (struct hpfsmount *, lsn_t *);
   37 int             hpfs_bmmark (struct hpfsmount *, lsn_t, u_long, int);
   38 int             hpfs_bmlookup (struct hpfsmount *, u_long, lsn_t, u_long,
   39                                 lsn_t *, u_long *);
   40 
   41 struct hpfs_args;
   42 int             hpfs_cpinit (struct mount *, struct hpfsmount *);
   43 int             hpfs_cpdeinit (struct hpfsmount *);
   44 int             hpfs_cpload (struct hpfsmount *, struct cpiblk *,
   45                              struct cpdblk *);
   46 int             hpfs_cpstrnnicmp (struct hpfsmount *, char *, int, u_int16_t,
   47                                   char *, int, u_int16_t);
   48 int             hpfs_cmpfname (struct hpfsmount *, char *, int,
   49                                char *, int, u_int16_t);
   50 
   51 /* XXX Need unsigned conversion? */
   52 #define hpfs_u2d(hpmp, c)       ((((u_char)(c))&0x80)?(hpmp->hpm_u2d[((u_char)(c))&0x7F]):((u_char)(c)))
   53 #define hpfs_d2u(hpmp, c)       ((((u_char)(c))&0x80)?(hpmp->hpm_d2u[((u_char)(c))&0x7F]):((u_char)(c)))
   54 #define hpfs_toupper(hpmp, c, cp)       ((((u_char)(c))&0x80) ? ((u_char)((hpmp)->hpm_cpdblk[(cp)].b_upcase[((u_char)(c))&0x7F])) : ((((u_char)(c)) >= 'a' && ((u_char)(c)) <='z')?(((u_char)(c))-'a'+'A'):((u_char)(c))))
   55 
   56 
   57 int             hpfs_truncate (struct hpfsnode *, u_long);
   58 int             hpfs_extend (struct hpfsnode *, u_long);
   59 
   60 int             hpfs_updateparent (struct hpfsnode *);
   61 int             hpfs_update (struct hpfsnode *);
   62 
   63 int             hpfs_validateparent (struct hpfsnode *);
   64 struct timespec hpfstimetounix (u_long);
   65 int             hpfs_genlookupbyname (struct hpfsnode *, char *, int,
   66                                       struct buf **, struct hpfsdirent **);
   67 
   68 int             hpfs_makefnode (struct vnode *, struct vnode **,
   69                                 struct componentname *, struct vattr *);
   70 int             hpfs_removefnode (struct vnode *, struct vnode *,
   71                                 struct componentname *);
   72 
   73 int             hpfs_breadstruct (struct hpfsmount *, lsn_t, u_int, u_int32_t,
   74                                  struct buf **);
   75 #define hpfs_breadalsec(hpmp, lsn, bpp) \
   76         hpfs_breadstruct(hpmp, lsn, DEV_BSIZE, AS_MAGIC, bpp)
   77 #define hpfs_breaddirblk(hpmp, lsn, bpp) \
   78         hpfs_breadstruct(hpmp, lsn, D_BSIZE, D_MAGIC, bpp)
   79 
   80 #if 0
   81 #define hpfs_hplock(hp, p)      lockmgr(&(hp)->h_intlock, LK_EXCLUSIVE, (p), NULL)
   82 #define hpfs_hpunlock(hp, p)    lockmgr(&(hp)->h_intlock, LK_RELEASE, (p), NULL)
   83 #endif
   84 
   85 int             hpfs_hpbmap (struct hpfsnode *, daddr_t, daddr_t *, int *);
   86 int             hpfs_truncatealblk (struct hpfsmount *, alblk_t *, lsn_t,int *);
   87 int             hpfs_addextent (struct hpfsmount *, struct hpfsnode *, u_long);

Cache object: 1335ad89da540f5855086649f88d3b87


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.