home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / gnu / man / cat3 / setjmp.0 < prev    next >
Text File  |  1993-12-07  |  4KB  |  133 lines

  1.  
  2. SETJMP(3)                  UNIX Programmer's Manual                  SETJMP(3)
  3.  
  4. NNAAMMEE
  5.      ssiiggsseettjjmmpp, ssiigglloonnggjjmmpp, sseettjjmmpp, lloonnggjjmmpp, __sseettjjmmpp, __lloonnggjjmmpp lloonnggjjmmppeerrrroorr -
  6.      non­local jumps
  7.  
  8. SSYYNNOOPPSSIISS
  9.      ##iinncclluuddee <<sseettjjmmpp..hh>>
  10.  
  11.      _i_n_t
  12.      ssiiggsseettjjmmpp(_s_i_g_j_m_p___b_u_f _e_n_v, _i_n_t _s_a_v_e_m_a_s_k)
  13.  
  14.      _v_o_i_d
  15.      ssiigglloonnggjjmmpp(_s_i_g_j_m_p___b_u_f _e_n_v, _i_n_t _v_a_l)
  16.  
  17.      _i_n_t
  18.      sseettjjmmpp(_j_m_p___b_u_f _e_n_v)
  19.  
  20.      _v_o_i_d
  21.      lloonnggjjmmpp(_j_m_p___b_u_f _e_n_v, _i_n_t _v_a_l)
  22.  
  23.      _i_n_t
  24.      __sseettjjmmpp(_j_m_p___b_u_f _e_n_v)
  25.  
  26.      _v_o_i_d
  27.      __lloonnggjjmmpp(_j_m_p___b_u_f _e_n_v, _i_n_t _v_a_l)
  28.  
  29.      _v_o_i_d
  30.      lloonnggjjmmppeerrrroorr(_v_o_i_d)
  31.  
  32. DDEESSCCRRIIPPTTIIOONN
  33.      The ssiiggsseettjjmmpp(), sseettjjmmpp(), and __sseettjjmmpp() functions save their calling en­
  34.      vironment in _e_n_v. Each of these functions returns 0.
  35.  
  36.      The corresponding lloonnggjjmmpp() functions restore the environment saved by
  37.      their most recent respective invocations of the sseettjjmmpp() function.  They
  38.      then return so that program execution continues as if the corresponding
  39.      invocation of the sseettjjmmpp() call had just returned  the value specified by
  40.      _v_a_l, instead of 0.
  41.  
  42.      Pairs of calls may be intermixed, i.e. both ssiiggsseettjjmmpp() and ssiigglloonnggjjmmpp()
  43.      and sseettjjmmpp() and lloonnggjjmmpp() combinations may be used in the same program,
  44.      however, individual calls may not, i.e. the _e_n_v argument to ssiiggsseettjjmmpp()
  45.      may not be passed to lloonnggjjmmpp().
  46.  
  47.      The lloonnggjjmmpp() routines may not be called after the routine which called
  48.      the sseettjjmmpp() routines returns.
  49.  
  50.      All accessible objects have values as of the time lloonnggjjmmpp() routine was
  51.      called, except that the values of objects of automatic storage invocation
  52.      duration that do not have the _v_o_l_a_t_i_l_e type and have been changed between
  53.      the sseettjjmmpp() invocation and lloonnggjjmmpp() call are indeterminate.
  54.  
  55.      The sseettjjmmpp()/lloonnggjjmmpp() pairs save and restore the signal mask while
  56.      __sseettjjmmpp()/__lloonnggjjmmpp() pairs save and restore only the register set and the
  57.      stack.  (See ssiiggmmaasskk(_2).)
  58.  
  59.      The ssiiggsseettjjmmpp()/ssiigglloonnggjjmmpp() function pairs save and restore the signal
  60.      mask if the argument _s_a_v_e_m_a_s_k is non­zero, otherwise only the register
  61.      set and the stack are saved.
  62.  
  63. EERRRROORRSS
  64.      If the contents of the _e_n_v are corrupted, or correspond to an environment
  65.      that has already returned, the lloonnggjjmmpp() routine calls the routine
  66.      lloonnggjjmmppeerrrroorr(_3).  If lloonnggjjmmppeerrrroorr() returns the program is aborted (see
  67.      abort(2)).  The default version of lloonnggjjmmppeerrrroorr() prints the message
  68.      ``longjmp botch'' to standard error and returns.  User programs wishing
  69.      to exit more gracefully should write their own versions of
  70.      lloonnggjjmmppeerrrroorr().
  71.  
  72. SSEEEE AALLSSOO
  73.      sigaction(2),  sigstack(2),  signal(3)
  74.  
  75. SSTTAANNDDAARRDDSS
  76.      The sseettjjmmpp() and lloonnggjjmmpp() functions conform to ANSI C3.159­1989 (``ANSI
  77.      C'').
  78.  
  79. 4th Berkeley Distribution        July 30, 1991                               2
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.