home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / CPROG / CBASE101.ZIP / LSEQ101.ZIP / LSSYNC.C < prev    next >
Text File  |  1990-06-20  |  1KB  |  67 lines

  1. /*    Copyright (c) 1989 Citadel    */
  2. /*       All Rights Reserved        */
  3.  
  4. /* #ident    "@(#)lssync.c    1.4 - 90/06/20" */
  5.  
  6. /* ansi headers */
  7. #include <errno.h>
  8.  
  9. /* library headers */
  10. #include <blkio.h>
  11.  
  12. /* local headers */
  13. #include "lseq_.h"
  14.  
  15. /*man---------------------------------------------------------------------------
  16. NAME
  17.      lssync - lseq synchronize
  18.  
  19. SYNOPSIS
  20.      #include <lseq.h>
  21.  
  22.      int lssync(lsp);
  23.      lseq_t *lsp;
  24.  
  25. DESCRIPTION
  26.      The lssync function causes any buffered data for the named lseq
  27.      to be written to the file.  The lseq remains open and the buffer
  28.      contents remain intact.
  29.  
  30.      lssync will fail if one or more of the following is true:
  31.  
  32.      [EINVAL]       lsp is not a valid lseq pointer.
  33.      [LSENOPEN]     lsp is not open.
  34.  
  35. SEE ALSO
  36.      lsclose, lslock, lssetbuf, lssetvbuf.
  37.  
  38. DIAGNOSTICS
  39.      Upon successful completion, a value of 0 is returned.  Otherwise,
  40.      a value of -1 is returned, and errno set to indicate the error.
  41.  
  42. ------------------------------------------------------------------------------*/
  43. int lssync(lsp)
  44. lseq_t *lsp;
  45. {
  46.     /* validate arguments */
  47.     if (!ls_valid(lsp)) {
  48.         errno = EINVAL;
  49.         return -1;
  50.     }
  51.  
  52.     /* check if not open */
  53.     if (!(lsp->flags & LSOPEN)) {
  54.         errno = LSENOPEN;
  55.         return -1;
  56.     }
  57.  
  58.     /* synchronize file with buffers */
  59.     if (bsync(lsp->bp) == -1) {
  60.         LSEPRINT;
  61.         return -1;
  62.     }
  63.  
  64.     errno = 0;
  65.     return 0;
  66. }
  67.