137Srgrimes/*  Note that struct foo is opaque (never defined) in this file.  This
232241Ssteve    is allowed by C since this file does not reference any members of
337Srgrimes    the structure.  The debugger needs to be able to associate this
418912Sjoerg    opaque structure definition with the full definition in another
518912Sjoerg    file.
618912Sjoerg*/
718912Sjoerg
818912Sjoergstruct foo *foop;
918912Sjoergextern struct foo *getfoo ();
1018912Sjoerg#ifdef PROTOTYPES
1118912Sjoergextern void putfoo (struct foo *foop);
1218912Sjoerg#endif
1318912Sjoerg
1418912Sjoergint main ()
1518912Sjoerg{
1618912Sjoerg#ifdef usestubs
1718912Sjoerg    set_debug_traps();
1818912Sjoerg    breakpoint();
1918912Sjoerg#endif
2018912Sjoerg    foop = getfoo ();
2118912Sjoerg    putfoo (foop);
2232241Ssteve    return 0;
2332241Ssteve}
2432241Ssteve