home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume26 / xinetd-2.1.1 / part01 / xinetd / builtin.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-27  |  966 b   |  46 lines

  1. /*
  2.  * (c) Copyright 1992 by Panagiotis Tsirigotis
  3.  * All rights reserved.  The file named COPYRIGHT specifies the terms 
  4.  * and conditions for redistribution.
  5.  */
  6.  
  7. #ifndef BUILTIN_H
  8. #define BUILTIN_H
  9.  
  10. /*
  11.  * $Id: builtin.h,v 6.1 1993/04/04 19:42:53 panos Exp $
  12.  */
  13.  
  14. #include "defs.h"
  15.  
  16. #define FORK                YES
  17. #define NO_FORK            NO
  18.  
  19. struct builtin
  20. {
  21.    voidfunc        b_handler ;                    /* builtin service handler             */
  22.    boolean_e    b_fork_server ;            /* whether a server must be forked    */
  23. } ;
  24.  
  25. typedef struct builtin builtin_s ;
  26.  
  27. /*
  28.  * All builtins are invoked with a struct server argument
  29.  */
  30. #define builtin_invoke( bp, serp )        (*(bp)->b_handler)( serp )
  31. #define builtin_forks( bp )                ( (bp)->b_fork_server == YES )
  32.  
  33.  
  34. struct builtin_service
  35. {
  36.    char            *bs_name ;                    /* for identification purposes        */
  37.    int            bs_socket_type ;            /* for identification purposes        */
  38.     builtin_s    bs_handle ;
  39. } ;
  40.  
  41. builtin_s *builtin_find() ;
  42. builtin_s *builtin_lookup() ;
  43.  
  44. #endif    /* BUILTIN_H */
  45.  
  46.