/* ---------------------------------------------------------------------- */

#define ns__aproc0 "::aproc"
#ifndef CRITCL_list_obj_2
#define CRITCL_list_obj_2
#ifndef CRITCL_list
#define CRITCL_list

	typedef struct critcl_list {
	    Tcl_Obj*        o;
	    Tcl_Obj* const* v;
	    Tcl_Size        c;
	} critcl_list;
    
#endif /* CRITCL_list _________ */

#endif /* CRITCL_list_obj_2 _________ */

static void c__aproc0(critcl_list x)
{

}

static int
tcl__aproc0(ClientData cd, Tcl_Interp *interp, Tcl_Size oc, Tcl_Obj *CONST ov[])
{
  critcl_list _x;

  if (oc != 2) {
    Tcl_WrongNumArgs(interp, 1, ov, "x");
    return TCL_ERROR;
  }

  /* (list_obj_2 x) - - -- --- ----- -------- */
	{
	{
	if (Tcl_ListObjGetElements (interp, ov[1], /* OK tcl9 */
		    &(_x.c), (Tcl_Obj***) &(_x.v)) != TCL_OK) return TCL_ERROR;
	_x.o = ov[1]; }
	/* Size check, assert (length (list) == 2) */
	if (_x.c != 2) {
	    Tcl_AppendResult (interp, "Expected a list of 2", NULL);
	    return TCL_ERROR;
	} }

  /* Call - - -- --- ----- -------- */
  c__aproc0(_x);

  /* (void return) - - -- --- ----- -------- */
	return TCL_OK;
}
