davide carboni / Mbed 2 deprecated pymite_http_get

Dependencies:   mbed

Committer:
dadaista
Date:
Wed Jul 21 12:50:41 2010 +0000
Revision:
0:14e5e829dffe

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dadaista 0:14e5e829dffe 1 /*
dadaista 0:14e5e829dffe 2 # This file is Copyright 2007, 2009 Dean Hall.
dadaista 0:14e5e829dffe 3 #
dadaista 0:14e5e829dffe 4 # This file is part of the PyMite VM.
dadaista 0:14e5e829dffe 5 # The PyMite VM is free software: you can redistribute it and/or modify
dadaista 0:14e5e829dffe 6 # it under the terms of the GNU GENERAL PUBLIC LICENSE Version 2.
dadaista 0:14e5e829dffe 7 #
dadaista 0:14e5e829dffe 8 # The PyMite VM is distributed in the hope that it will be useful,
dadaista 0:14e5e829dffe 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
dadaista 0:14e5e829dffe 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dadaista 0:14e5e829dffe 11 # A copy of the GNU GENERAL PUBLIC LICENSE Version 2
dadaista 0:14e5e829dffe 12 # is seen in the file COPYING in this directory.
dadaista 0:14e5e829dffe 13 */
dadaista 0:14e5e829dffe 14
dadaista 0:14e5e829dffe 15
dadaista 0:14e5e829dffe 16 #ifndef __THREAD_H__
dadaista 0:14e5e829dffe 17 #define __THREAD_H__
dadaista 0:14e5e829dffe 18
dadaista 0:14e5e829dffe 19
dadaista 0:14e5e829dffe 20 /**
dadaista 0:14e5e829dffe 21 * \file
dadaista 0:14e5e829dffe 22 * \brief VM Thread
dadaista 0:14e5e829dffe 23 *
dadaista 0:14e5e829dffe 24 * Encapsulating a frame pointer, a root code object and thread state.
dadaista 0:14e5e829dffe 25 */
dadaista 0:14e5e829dffe 26
dadaista 0:14e5e829dffe 27
dadaista 0:14e5e829dffe 28 #include "interp.h"
dadaista 0:14e5e829dffe 29
dadaista 0:14e5e829dffe 30
dadaista 0:14e5e829dffe 31 /** Frequency in Hz to switch threads */
dadaista 0:14e5e829dffe 32 #define THREAD_RESCHEDULE_FREQUENCY 10
dadaista 0:14e5e829dffe 33
dadaista 0:14e5e829dffe 34
dadaista 0:14e5e829dffe 35 /**
dadaista 0:14e5e829dffe 36 * Interpreter return values
dadaista 0:14e5e829dffe 37 *
dadaista 0:14e5e829dffe 38 * Used to control interpreter loop
dadaista 0:14e5e829dffe 39 * and indicate return value.
dadaista 0:14e5e829dffe 40 * Negative values indicate erroneous results.
dadaista 0:14e5e829dffe 41 * Positive values indicate "continue interpreting",
dadaista 0:14e5e829dffe 42 * but first do something special like reschedule threads
dadaista 0:14e5e829dffe 43 * or (TBD) sweep the heap.
dadaista 0:14e5e829dffe 44 */
dadaista 0:14e5e829dffe 45 typedef enum PmInterpCtrl_e
dadaista 0:14e5e829dffe 46 {
dadaista 0:14e5e829dffe 47 /* other erroneous exits go here with negative values */
dadaista 0:14e5e829dffe 48 INTERP_CTRL_ERR = -1, /**< Generic error causes exit */
dadaista 0:14e5e829dffe 49 INTERP_CTRL_EXIT = 0, /**< Normal execution exit */
dadaista 0:14e5e829dffe 50 INTERP_CTRL_CONT = 1, /**< Continue interpreting */
dadaista 0:14e5e829dffe 51 INTERP_CTRL_RESCHED = 2 /**< Reschedule threads */
dadaista 0:14e5e829dffe 52 /* all positive values indicate "continue interpreting" */
dadaista 0:14e5e829dffe 53 } PmInterpCtrl_t, *pPmInterpCtrl_t;
dadaista 0:14e5e829dffe 54
dadaista 0:14e5e829dffe 55 /**
dadaista 0:14e5e829dffe 56 * Thread obj
dadaista 0:14e5e829dffe 57 *
dadaista 0:14e5e829dffe 58 */
dadaista 0:14e5e829dffe 59 typedef struct PmThread_s
dadaista 0:14e5e829dffe 60 {
dadaista 0:14e5e829dffe 61 /** object descriptor */
dadaista 0:14e5e829dffe 62 PmObjDesc_t od;
dadaista 0:14e5e829dffe 63
dadaista 0:14e5e829dffe 64 /** current frame pointer */
dadaista 0:14e5e829dffe 65 pPmFrame_t pframe;
dadaista 0:14e5e829dffe 66
dadaista 0:14e5e829dffe 67 /**
dadaista 0:14e5e829dffe 68 * Interpreter loop control value
dadaista 0:14e5e829dffe 69 *
dadaista 0:14e5e829dffe 70 * A positive value means continue interpreting.
dadaista 0:14e5e829dffe 71 * A zero value means normal interpreter exit.
dadaista 0:14e5e829dffe 72 * A negative value signals an error exit.
dadaista 0:14e5e829dffe 73 */
dadaista 0:14e5e829dffe 74 PmInterpCtrl_t interpctrl;
dadaista 0:14e5e829dffe 75 } PmThread_t,
dadaista 0:14e5e829dffe 76 *pPmThread_t;
dadaista 0:14e5e829dffe 77
dadaista 0:14e5e829dffe 78
dadaista 0:14e5e829dffe 79 /**
dadaista 0:14e5e829dffe 80 * Constructs a thread for a root frame.
dadaista 0:14e5e829dffe 81 *
dadaista 0:14e5e829dffe 82 * @param pframe Frame object as a basis for this thread.
dadaista 0:14e5e829dffe 83 * @param r_pobj Return by reference; Ptr to the newly created thread object.
dadaista 0:14e5e829dffe 84 * @return Return status
dadaista 0:14e5e829dffe 85 */
dadaista 0:14e5e829dffe 86 PmReturn_t thread_new(pPmObj_t pframe, pPmObj_t *r_pobj);
dadaista 0:14e5e829dffe 87
dadaista 0:14e5e829dffe 88 #endif /* __THREAD_H__ */