/[hurd]/hurd-l4/deva/deva-class.c
ViewVC logotype

Diff of /hurd-l4/deva/deva-class.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by marcus, Thu Oct 28 04:12:17 2004 UTC revision 1.2 by marcus, Mon Nov 1 20:54:00 2004 UTC
# Line 34  Line 34 
34    
35  struct deva  struct deva
36  {  {
   /* The capability object must be the first member of this  
      struct.  */  
   struct hurd_cap_obj obj;  
   
37    /* FIXME: More stuff.  */    /* FIXME: More stuff.  */
38      int foo;
39  };  };
40  typedef struct deva *deva_t;  typedef struct deva *deva_t;
41    
# Line 46  typedef struct deva *deva_t; Line 43  typedef struct deva *deva_t;
43  static void  static void
44  deva_reinit (hurd_cap_class_t cap_class, hurd_cap_obj_t obj)  deva_reinit (hurd_cap_class_t cap_class, hurd_cap_obj_t obj)
45  {  {
46    deva_t deva = (deva_t) obj;    deva_t deva = hurd_cap_obj_to_user (deva_t, obj);
47    
48    /* FIXME: Release resources.  */    /* FIXME: Release resources.  */
49  }  }
# Line 86  static struct hurd_cap_class deva_class; Line 83  static struct hurd_cap_class deva_class;
83  error_t  error_t
84  deva_class_init ()  deva_class_init ()
85  {  {
86    return hurd_cap_class_init (&deva_class, sizeof (struct deva),    return hurd_cap_class_init (&deva_class, deva_t,
                               __alignof__ (struct deva),  
87                                NULL, NULL, deva_reinit, NULL,                                NULL, NULL, deva_reinit, NULL,
88                                deva_demuxer);                                deva_demuxer);
89  }  }
# Line 99  error_t Line 95  error_t
95  deva_alloc (hurd_cap_obj_t *r_obj)  deva_alloc (hurd_cap_obj_t *r_obj)
96  {  {
97    error_t err;    error_t err;
98      hurd_cap_obj_t obj;
99    deva_t deva;    deva_t deva;
100    
101    err = hurd_cap_class_alloc (&deva_class, (hurd_cap_obj_t *) &deva);    err = hurd_cap_class_alloc (&deva_class, &obj);
102    if (err)    if (err)
103      return err;      return err;
104    
105      deva = hurd_cap_obj_to_user (deva_t, obj);
106    
107    /* FIXME: Add some stuff.  */    /* FIXME: Add some stuff.  */
108    
109    *r_obj = &deva->obj;    *r_obj = obj;
110    return 0;    return 0;
111  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26