Previous: , Up: Component Statement   [Contents][Index]


3.3.12 Component Syntax Summary

This subsection summarizes the component statements. For each statement, a reference to its detailed description is provided.

component tag {
  # Component execution mode.
  # See mode.
  mode modename;
  
  # Full name of the program.
  # See program.
  program name;
  # Command line.
  # See command.
  command string;
  
  # List of prerequisites.
  # See Prerequisites.
  prerequisites (compnames);
  # List of components for which this one is a prerequisite.
  # See dependents.
  dependents (compnames);

  # List of flags.
  # See flags.
  flags (flags);

  # For init components: runlevels in which to start this
  # component.
  # See Runlevels.
  runlevels string;
  
  # Listen on the given url.
  # See Inetd-Style Components.
  socket url;

  # Set socket type.
  # See Inetd-Style Components.
  socket-type ‘stream | dgram | raw | rdm | seqpacket’;

  # Service name for built-in inetd component.
  # See builtin.
  service string;

  # Tag of master TCPMUX component, for subordinate components.
  # See TCPMUX.
  tcpmux-master string;
  
  # Pass fd through this socket.
  # See Meta1-Style Components.
  pass-fd-socket soket-name;
  # Wait number of seconds for pass-fd socket to become available.
  # See pass-fd-timeout.
  pass-fd-timeout number;

  # Maximum number of running instances.
  # See max-instances.
  # See max-instances.
  max-instances number;

  # For ‘inetd’ components:
  # Text to send back if max-instances is reached.
  # See max-instances-message.
  max-instances-message text;
  
  # Maximum number of times an inetd component can be invoked in
  # one minute.
  # See max-rate.
  max-rate number;

  # For ‘inetd’ components:
  # Max. number of simultaneous connections from a single IP address.
  # See max-ip-connections.
  max-ip-connections number;
  
  # For ‘inetd’ components:
  # Text to send back if max-ip-connections is reached.
  # See max-ip-connections-message.
  max-ip-connections-message text;

  # For ‘inetd’ components:
  # Text to send back if access is denied by ACL.
  # See access-denied-message.
  access-denied-message text;

  # ACL for administrative (read-write) access to this component.
  # See Visibility.
  admin-acl name;
  # or:
  admin-acl { … }

  # ACL for read-only access to this component.
  # See Visibility.
  list-acl name;
  # or:
  list-acl { … }
  
  # ACL for this component.
  # See ACL.
  acl name;
  # or:
  acl { … }
  
  # Redirect program’s standard output to the given
  # file or syslog priority.
  # See Output Redirectors.
  stdout ‘file | syslogchannel;
  # Redirect program’s standard error to the given
  # file or syslog priority.
  # See Output Redirectors.
  stderr ‘file | syslogchannel;
  
  # Run with this user privileges.
  # See Component Privileges.
  user user-name;
  # Retain supplementary group.
  # See group.
  group group-name;
  # Retain all supplementary groups of which user is a member.
  # See allgroups.
  allgroups bool;
  
  # Set system limits.
  # See Resources.
  limits string;
  
  # Force this umask.
  # See umask.
  umask number;
  
  # Set program environment.
  # See Environment.
  env { … }
  
  # Change to this directory before executing the component.
  # See chdir.
  chdir dir;
  # Remove file-name before starting the component.
  # See remove-file.
  remove-file file-name;
  
  # Actions:
  # See Exit Actions.
  return-code exit-code-list {
    # Action to take when a component finishes with this return code.
    action ‘disable | restart’;
    # Notify these addresses when then component terminates.
    notify email-string;
    # Notification message text (with headers).
    message string;
    # Execute this command.
    exec command
  }
}

Previous: , Up: Component Statement   [Contents][Index]