summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/net/name6.c2
-rw-r--r--lib/libc_r/uthread/pthread_private.h40
-rw-r--r--lib/libc_r/uthread/uthread_file.c6
-rw-r--r--lib/libkse/thread/thr_private.h40
-rw-r--r--lib/libncp/ncpl_rcfile.c6
-rw-r--r--lib/libpam/modules/pam_ssh/pam_ssh.c4
-rw-r--r--lib/libpthread/thread/thr_private.h40
-rw-r--r--lib/libstand/if_ether.h6
8 files changed, 72 insertions, 72 deletions
diff --git a/lib/libc/net/name6.c b/lib/libc/net/name6.c
index 6b1a2f9..32fe460 100644
--- a/lib/libc/net/name6.c
+++ b/lib/libc/net/name6.c
@@ -990,7 +990,7 @@ _nis_ghbyaddr(const void *addr, int addrlen, int af, int *errp)
#endif
struct __res_type_list {
- SLIST_ENTRY(struct __res_type_list) rtl_entry;
+ SLIST_ENTRY(__res_type_list) rtl_entry;
int rtl_type;
};
diff --git a/lib/libc_r/uthread/pthread_private.h b/lib/libc_r/uthread/pthread_private.h
index f53db55..a86cfc6 100644
--- a/lib/libc_r/uthread/pthread_private.h
+++ b/lib/libc_r/uthread/pthread_private.h
@@ -187,14 +187,14 @@
* XXX It'd be nice if these were contained in uthread_priority_queue.[ch].
*/
typedef struct pq_list {
- TAILQ_HEAD(, struct pthread) pl_head; /* list of threads at this priority */
- TAILQ_ENTRY(struct pq_list) pl_link; /* link for queue of priority lists */
+ TAILQ_HEAD(, pthread) pl_head; /* list of threads at this priority */
+ TAILQ_ENTRY(pq_list) pl_link; /* link for queue of priority lists */
int pl_prio; /* the priority of this list */
int pl_queued; /* is this in the priority queue */
} pq_list_t;
typedef struct pq_queue {
- TAILQ_HEAD(, struct pq_list) pq_queue; /* queue of priority lists */
+ TAILQ_HEAD(, pq_list) pq_queue; /* queue of priority lists */
pq_list_t *pq_lists; /* array of all priority lists */
int pq_size; /* number of priority lists */
} pq_queue_t;
@@ -216,7 +216,7 @@ union pthread_mutex_data {
struct pthread_mutex {
enum pthread_mutextype m_type;
int m_protocol;
- TAILQ_HEAD(mutex_head, struct pthread) m_queue;
+ TAILQ_HEAD(mutex_head, pthread) m_queue;
struct pthread *m_owner;
union pthread_mutex_data m_data;
long m_flags;
@@ -239,7 +239,7 @@ struct pthread_mutex {
/*
* Link for list of all mutexes a thread currently owns.
*/
- TAILQ_ENTRY(struct pthread_mutex) m_qe;
+ TAILQ_ENTRY(pthread_mutex) m_qe;
/*
* Lock for accesses to this structure.
@@ -279,7 +279,7 @@ enum pthread_cond_type {
struct pthread_cond {
enum pthread_cond_type c_type;
- TAILQ_HEAD(cond_head, struct pthread) c_queue;
+ TAILQ_HEAD(cond_head, pthread) c_queue;
pthread_mutex_t c_mutex;
void *c_data;
long c_flags;
@@ -449,8 +449,8 @@ struct fd_table_entry {
* state of the lock on the file descriptor.
*/
spinlock_t lock;
- TAILQ_HEAD(, struct pthread) r_queue; /* Read queue. */
- TAILQ_HEAD(, struct pthread) w_queue; /* Write queue. */
+ TAILQ_HEAD(, pthread) r_queue; /* Read queue. */
+ TAILQ_HEAD(, pthread) w_queue; /* Write queue. */
struct pthread *r_owner; /* Ptr to thread owning read lock. */
struct pthread *w_owner; /* Ptr to thread owning write lock. */
char *r_fname; /* Ptr to read lock source file name */
@@ -505,10 +505,10 @@ struct pthread {
spinlock_t lock;
/* Queue entry for list of all threads: */
- TAILQ_ENTRY(struct pthread) tle;
+ TAILQ_ENTRY(pthread) tle;
/* Queue entry for list of dead threads: */
- TAILQ_ENTRY(struct pthread) dle;
+ TAILQ_ENTRY(pthread) dle;
/*
* Thread start routine, argument, stack pointer and thread
@@ -625,7 +625,7 @@ struct pthread {
int error;
/* Join queue head and link for waiting threads: */
- TAILQ_HEAD(join_head, struct pthread) join_queue;
+ TAILQ_HEAD(join_head, pthread) join_queue;
/*
* The current thread can belong to only one scheduling queue at
@@ -645,10 +645,10 @@ struct pthread {
*/
/* Priority queue entry for this thread: */
- TAILQ_ENTRY(struct pthread) pqe;
+ TAILQ_ENTRY(pthread) pqe;
/* Queue entry for this thread: */
- TAILQ_ENTRY(struct pthread) qe;
+ TAILQ_ENTRY(pthread) qe;
/* Wait data. */
union pthread_wait_data data;
@@ -724,7 +724,7 @@ struct pthread {
/*
* Queue of currently owned mutexes.
*/
- TAILQ_HEAD(, struct pthread_mutex) mutexq;
+ TAILQ_HEAD(, pthread_mutex) mutexq;
void *ret;
const void **specific_data;
@@ -738,7 +738,7 @@ struct pthread {
/* Spare thread stack. */
struct stack {
- SLIST_ENTRY(struct stack) qe; /* Queue entry for this stack. */
+ SLIST_ENTRY(stack) qe; /* Queue entry for this stack. */
};
/*
@@ -776,7 +776,7 @@ SCLASS struct pthread * volatile _thread_single
#endif
/* List of all threads: */
-SCLASS TAILQ_HEAD(, struct pthread) _thread_list
+SCLASS TAILQ_HEAD(, pthread) _thread_list
#ifdef GLOBAL_PTHREAD_PRIVATE
= TAILQ_HEAD_INITIALIZER(_thread_list);
#else
@@ -818,7 +818,7 @@ SCLASS struct timeval kern_inc_prio_time
#endif
/* Dead threads: */
-SCLASS TAILQ_HEAD(, struct pthread) _dead_list
+SCLASS TAILQ_HEAD(, pthread) _dead_list
#ifdef GLOBAL_PTHREAD_PRIVATE
= TAILQ_HEAD_INITIALIZER(_dead_list);
#else
@@ -927,12 +927,12 @@ SCLASS sigset_t _process_sigpending;
* Scheduling queues:
*/
SCLASS pq_queue_t _readyq;
-SCLASS TAILQ_HEAD(, struct pthread) _waitingq;
+SCLASS TAILQ_HEAD(, pthread) _waitingq;
/*
* Work queue:
*/
-SCLASS TAILQ_HEAD(, struct pthread) _workq;
+SCLASS TAILQ_HEAD(, pthread) _workq;
/* Tracks the number of threads blocked while waiting for a spinlock. */
SCLASS volatile int _spinblock_count
@@ -960,7 +960,7 @@ SCLASS pthread_switch_routine_t _sched_switch_hook
* thread creation time. Spare stacks are used in LIFO order to increase cache
* locality.
*/
-SCLASS SLIST_HEAD(, struct stack) _stackq;
+SCLASS SLIST_HEAD(, stack) _stackq;
/*
* Base address of next unallocated default-size {stack, red zone}. Stacks are
diff --git a/lib/libc_r/uthread/uthread_file.c b/lib/libc_r/uthread/uthread_file.c
index 8700897..88b6a8f 100644
--- a/lib/libc_r/uthread/uthread_file.c
+++ b/lib/libc_r/uthread/uthread_file.c
@@ -57,8 +57,8 @@
* reassigned to a different file by setting fp.
*/
struct file_lock {
- LIST_ENTRY(struct file_lock) entry; /* Entry if file list. */
- TAILQ_HEAD(lock_head, struct pthread)
+ LIST_ENTRY(file_lock) entry; /* Entry if file list. */
+ TAILQ_HEAD(lock_head, pthread)
l_head; /* Head of queue for threads */
/* waiting on this lock. */
FILE *fp; /* The target file. */
@@ -90,7 +90,7 @@ struct file_lock {
* collisions that require a malloc and an element added to the list.
*/
struct static_file_lock {
- LIST_HEAD(file_list_head, struct file_lock) head;
+ LIST_HEAD(file_list_head, file_lock) head;
struct file_lock fl;
} flh[NUM_HEADS];
diff --git a/lib/libkse/thread/thr_private.h b/lib/libkse/thread/thr_private.h
index f53db55..a86cfc6 100644
--- a/lib/libkse/thread/thr_private.h
+++ b/lib/libkse/thread/thr_private.h
@@ -187,14 +187,14 @@
* XXX It'd be nice if these were contained in uthread_priority_queue.[ch].
*/
typedef struct pq_list {
- TAILQ_HEAD(, struct pthread) pl_head; /* list of threads at this priority */
- TAILQ_ENTRY(struct pq_list) pl_link; /* link for queue of priority lists */
+ TAILQ_HEAD(, pthread) pl_head; /* list of threads at this priority */
+ TAILQ_ENTRY(pq_list) pl_link; /* link for queue of priority lists */
int pl_prio; /* the priority of this list */
int pl_queued; /* is this in the priority queue */
} pq_list_t;
typedef struct pq_queue {
- TAILQ_HEAD(, struct pq_list) pq_queue; /* queue of priority lists */
+ TAILQ_HEAD(, pq_list) pq_queue; /* queue of priority lists */
pq_list_t *pq_lists; /* array of all priority lists */
int pq_size; /* number of priority lists */
} pq_queue_t;
@@ -216,7 +216,7 @@ union pthread_mutex_data {
struct pthread_mutex {
enum pthread_mutextype m_type;
int m_protocol;
- TAILQ_HEAD(mutex_head, struct pthread) m_queue;
+ TAILQ_HEAD(mutex_head, pthread) m_queue;
struct pthread *m_owner;
union pthread_mutex_data m_data;
long m_flags;
@@ -239,7 +239,7 @@ struct pthread_mutex {
/*
* Link for list of all mutexes a thread currently owns.
*/
- TAILQ_ENTRY(struct pthread_mutex) m_qe;
+ TAILQ_ENTRY(pthread_mutex) m_qe;
/*
* Lock for accesses to this structure.
@@ -279,7 +279,7 @@ enum pthread_cond_type {
struct pthread_cond {
enum pthread_cond_type c_type;
- TAILQ_HEAD(cond_head, struct pthread) c_queue;
+ TAILQ_HEAD(cond_head, pthread) c_queue;
pthread_mutex_t c_mutex;
void *c_data;
long c_flags;
@@ -449,8 +449,8 @@ struct fd_table_entry {
* state of the lock on the file descriptor.
*/
spinlock_t lock;
- TAILQ_HEAD(, struct pthread) r_queue; /* Read queue. */
- TAILQ_HEAD(, struct pthread) w_queue; /* Write queue. */
+ TAILQ_HEAD(, pthread) r_queue; /* Read queue. */
+ TAILQ_HEAD(, pthread) w_queue; /* Write queue. */
struct pthread *r_owner; /* Ptr to thread owning read lock. */
struct pthread *w_owner; /* Ptr to thread owning write lock. */
char *r_fname; /* Ptr to read lock source file name */
@@ -505,10 +505,10 @@ struct pthread {
spinlock_t lock;
/* Queue entry for list of all threads: */
- TAILQ_ENTRY(struct pthread) tle;
+ TAILQ_ENTRY(pthread) tle;
/* Queue entry for list of dead threads: */
- TAILQ_ENTRY(struct pthread) dle;
+ TAILQ_ENTRY(pthread) dle;
/*
* Thread start routine, argument, stack pointer and thread
@@ -625,7 +625,7 @@ struct pthread {
int error;
/* Join queue head and link for waiting threads: */
- TAILQ_HEAD(join_head, struct pthread) join_queue;
+ TAILQ_HEAD(join_head, pthread) join_queue;
/*
* The current thread can belong to only one scheduling queue at
@@ -645,10 +645,10 @@ struct pthread {
*/
/* Priority queue entry for this thread: */
- TAILQ_ENTRY(struct pthread) pqe;
+ TAILQ_ENTRY(pthread) pqe;
/* Queue entry for this thread: */
- TAILQ_ENTRY(struct pthread) qe;
+ TAILQ_ENTRY(pthread) qe;
/* Wait data. */
union pthread_wait_data data;
@@ -724,7 +724,7 @@ struct pthread {
/*
* Queue of currently owned mutexes.
*/
- TAILQ_HEAD(, struct pthread_mutex) mutexq;
+ TAILQ_HEAD(, pthread_mutex) mutexq;
void *ret;
const void **specific_data;
@@ -738,7 +738,7 @@ struct pthread {
/* Spare thread stack. */
struct stack {
- SLIST_ENTRY(struct stack) qe; /* Queue entry for this stack. */
+ SLIST_ENTRY(stack) qe; /* Queue entry for this stack. */
};
/*
@@ -776,7 +776,7 @@ SCLASS struct pthread * volatile _thread_single
#endif
/* List of all threads: */
-SCLASS TAILQ_HEAD(, struct pthread) _thread_list
+SCLASS TAILQ_HEAD(, pthread) _thread_list
#ifdef GLOBAL_PTHREAD_PRIVATE
= TAILQ_HEAD_INITIALIZER(_thread_list);
#else
@@ -818,7 +818,7 @@ SCLASS struct timeval kern_inc_prio_time
#endif
/* Dead threads: */
-SCLASS TAILQ_HEAD(, struct pthread) _dead_list
+SCLASS TAILQ_HEAD(, pthread) _dead_list
#ifdef GLOBAL_PTHREAD_PRIVATE
= TAILQ_HEAD_INITIALIZER(_dead_list);
#else
@@ -927,12 +927,12 @@ SCLASS sigset_t _process_sigpending;
* Scheduling queues:
*/
SCLASS pq_queue_t _readyq;
-SCLASS TAILQ_HEAD(, struct pthread) _waitingq;
+SCLASS TAILQ_HEAD(, pthread) _waitingq;
/*
* Work queue:
*/
-SCLASS TAILQ_HEAD(, struct pthread) _workq;
+SCLASS TAILQ_HEAD(, pthread) _workq;
/* Tracks the number of threads blocked while waiting for a spinlock. */
SCLASS volatile int _spinblock_count
@@ -960,7 +960,7 @@ SCLASS pthread_switch_routine_t _sched_switch_hook
* thread creation time. Spare stacks are used in LIFO order to increase cache
* locality.
*/
-SCLASS SLIST_HEAD(, struct stack) _stackq;
+SCLASS SLIST_HEAD(, stack) _stackq;
/*
* Base address of next unallocated default-size {stack, red zone}. Stacks are
diff --git a/lib/libncp/ncpl_rcfile.c b/lib/libncp/ncpl_rcfile.c
index f218655..7a69071 100644
--- a/lib/libncp/ncpl_rcfile.c
+++ b/lib/libncp/ncpl_rcfile.c
@@ -49,7 +49,7 @@
struct rcfile *ncp_rc = NULL;
-SLIST_HEAD(rcfile_head, struct rcfile);
+SLIST_HEAD(rcfile_head, rcfile);
static struct rcfile_head pf_head = {NULL};
int rc_merge(char *filename,struct rcfile **rcfile);
@@ -123,7 +123,7 @@ rc_close(struct rcfile *rcp) {
rc_sect_free(n);
}
free(rcp->rf_name);
- SLIST_REMOVE(&pf_head, rcp, struct rcfile, rf_next);
+ SLIST_REMOVE(&pf_head, rcp, rcfile, rf_next);
free(rcp);
return 0;
}
@@ -206,7 +206,7 @@ rc_sect_addkey(struct rcsection *rsp, char *name, char *value) {
void
rc_sect_delkey(struct rcsection *rsp, struct rckey *p) {
- SLIST_REMOVE(&rsp->rs_keys,p,struct rckey,rk_next);
+ SLIST_REMOVE(&rsp->rs_keys,p,rckey,rk_next);
rc_key_free(p);
return;
}
diff --git a/lib/libpam/modules/pam_ssh/pam_ssh.c b/lib/libpam/modules/pam_ssh/pam_ssh.c
index 92ab308..72c3a4e 100644
--- a/lib/libpam/modules/pam_ssh/pam_ssh.c
+++ b/lib/libpam/modules/pam_ssh/pam_ssh.c
@@ -86,11 +86,11 @@ ssh_cleanup(pam_handle_t *pamh, void *data, int error_status)
* environ at an array of one element equal to NULL).
*/
-SLIST_HEAD(env_head, struct env_entry);
+SLIST_HEAD(env_head, env_entry);
struct env_entry {
char *ee_env;
- SLIST_ENTRY(struct env_entry) ee_entries;
+ SLIST_ENTRY(env_entry) ee_entries;
};
typedef struct env {
diff --git a/lib/libpthread/thread/thr_private.h b/lib/libpthread/thread/thr_private.h
index f53db55..a86cfc6 100644
--- a/lib/libpthread/thread/thr_private.h
+++ b/lib/libpthread/thread/thr_private.h
@@ -187,14 +187,14 @@
* XXX It'd be nice if these were contained in uthread_priority_queue.[ch].
*/
typedef struct pq_list {
- TAILQ_HEAD(, struct pthread) pl_head; /* list of threads at this priority */
- TAILQ_ENTRY(struct pq_list) pl_link; /* link for queue of priority lists */
+ TAILQ_HEAD(, pthread) pl_head; /* list of threads at this priority */
+ TAILQ_ENTRY(pq_list) pl_link; /* link for queue of priority lists */
int pl_prio; /* the priority of this list */
int pl_queued; /* is this in the priority queue */
} pq_list_t;
typedef struct pq_queue {
- TAILQ_HEAD(, struct pq_list) pq_queue; /* queue of priority lists */
+ TAILQ_HEAD(, pq_list) pq_queue; /* queue of priority lists */
pq_list_t *pq_lists; /* array of all priority lists */
int pq_size; /* number of priority lists */
} pq_queue_t;
@@ -216,7 +216,7 @@ union pthread_mutex_data {
struct pthread_mutex {
enum pthread_mutextype m_type;
int m_protocol;
- TAILQ_HEAD(mutex_head, struct pthread) m_queue;
+ TAILQ_HEAD(mutex_head, pthread) m_queue;
struct pthread *m_owner;
union pthread_mutex_data m_data;
long m_flags;
@@ -239,7 +239,7 @@ struct pthread_mutex {
/*
* Link for list of all mutexes a thread currently owns.
*/
- TAILQ_ENTRY(struct pthread_mutex) m_qe;
+ TAILQ_ENTRY(pthread_mutex) m_qe;
/*
* Lock for accesses to this structure.
@@ -279,7 +279,7 @@ enum pthread_cond_type {
struct pthread_cond {
enum pthread_cond_type c_type;
- TAILQ_HEAD(cond_head, struct pthread) c_queue;
+ TAILQ_HEAD(cond_head, pthread) c_queue;
pthread_mutex_t c_mutex;
void *c_data;
long c_flags;
@@ -449,8 +449,8 @@ struct fd_table_entry {
* state of the lock on the file descriptor.
*/
spinlock_t lock;
- TAILQ_HEAD(, struct pthread) r_queue; /* Read queue. */
- TAILQ_HEAD(, struct pthread) w_queue; /* Write queue. */
+ TAILQ_HEAD(, pthread) r_queue; /* Read queue. */
+ TAILQ_HEAD(, pthread) w_queue; /* Write queue. */
struct pthread *r_owner; /* Ptr to thread owning read lock. */
struct pthread *w_owner; /* Ptr to thread owning write lock. */
char *r_fname; /* Ptr to read lock source file name */
@@ -505,10 +505,10 @@ struct pthread {
spinlock_t lock;
/* Queue entry for list of all threads: */
- TAILQ_ENTRY(struct pthread) tle;
+ TAILQ_ENTRY(pthread) tle;
/* Queue entry for list of dead threads: */
- TAILQ_ENTRY(struct pthread) dle;
+ TAILQ_ENTRY(pthread) dle;
/*
* Thread start routine, argument, stack pointer and thread
@@ -625,7 +625,7 @@ struct pthread {
int error;
/* Join queue head and link for waiting threads: */
- TAILQ_HEAD(join_head, struct pthread) join_queue;
+ TAILQ_HEAD(join_head, pthread) join_queue;
/*
* The current thread can belong to only one scheduling queue at
@@ -645,10 +645,10 @@ struct pthread {
*/
/* Priority queue entry for this thread: */
- TAILQ_ENTRY(struct pthread) pqe;
+ TAILQ_ENTRY(pthread) pqe;
/* Queue entry for this thread: */
- TAILQ_ENTRY(struct pthread) qe;
+ TAILQ_ENTRY(pthread) qe;
/* Wait data. */
union pthread_wait_data data;
@@ -724,7 +724,7 @@ struct pthread {
/*
* Queue of currently owned mutexes.
*/
- TAILQ_HEAD(, struct pthread_mutex) mutexq;
+ TAILQ_HEAD(, pthread_mutex) mutexq;
void *ret;
const void **specific_data;
@@ -738,7 +738,7 @@ struct pthread {
/* Spare thread stack. */
struct stack {
- SLIST_ENTRY(struct stack) qe; /* Queue entry for this stack. */
+ SLIST_ENTRY(stack) qe; /* Queue entry for this stack. */
};
/*
@@ -776,7 +776,7 @@ SCLASS struct pthread * volatile _thread_single
#endif
/* List of all threads: */
-SCLASS TAILQ_HEAD(, struct pthread) _thread_list
+SCLASS TAILQ_HEAD(, pthread) _thread_list
#ifdef GLOBAL_PTHREAD_PRIVATE
= TAILQ_HEAD_INITIALIZER(_thread_list);
#else
@@ -818,7 +818,7 @@ SCLASS struct timeval kern_inc_prio_time
#endif
/* Dead threads: */
-SCLASS TAILQ_HEAD(, struct pthread) _dead_list
+SCLASS TAILQ_HEAD(, pthread) _dead_list
#ifdef GLOBAL_PTHREAD_PRIVATE
= TAILQ_HEAD_INITIALIZER(_dead_list);
#else
@@ -927,12 +927,12 @@ SCLASS sigset_t _process_sigpending;
* Scheduling queues:
*/
SCLASS pq_queue_t _readyq;
-SCLASS TAILQ_HEAD(, struct pthread) _waitingq;
+SCLASS TAILQ_HEAD(, pthread) _waitingq;
/*
* Work queue:
*/
-SCLASS TAILQ_HEAD(, struct pthread) _workq;
+SCLASS TAILQ_HEAD(, pthread) _workq;
/* Tracks the number of threads blocked while waiting for a spinlock. */
SCLASS volatile int _spinblock_count
@@ -960,7 +960,7 @@ SCLASS pthread_switch_routine_t _sched_switch_hook
* thread creation time. Spare stacks are used in LIFO order to increase cache
* locality.
*/
-SCLASS SLIST_HEAD(, struct stack) _stackq;
+SCLASS SLIST_HEAD(, stack) _stackq;
/*
* Base address of next unallocated default-size {stack, red zone}. Stacks are
diff --git a/lib/libstand/if_ether.h b/lib/libstand/if_ether.h
index ada2815..392ef7a 100644
--- a/lib/libstand/if_ether.h
+++ b/lib/libstand/if_ether.h
@@ -122,12 +122,12 @@ struct arpcom {
struct ifnet ac_if; /* network-visible interface */
u_int8_t ac_enaddr[ETHER_ADDR_LEN]; /* ethernet hardware address */
char ac__pad[2]; /* be nice to m68k ports */
- LIST_HEAD(, struct ether_multi) ac_multiaddrs; /* list of ether multicast addrs */
+ LIST_HEAD(, ether_multi) ac_multiaddrs; /* list of ether multicast addrs */
int ac_multicnt; /* length of ac_multiaddrs list */
};
struct llinfo_arp {
- LIST_ENTRY(struct llinfo_arp) la_list;
+ LIST_ENTRY(llinfo_arp) la_list;
struct rtentry *la_rt;
struct mbuf *la_hold; /* last packet until resolved/timeout */
long la_asked; /* last time we QUERIED for this addr */
@@ -181,7 +181,7 @@ struct ether_multi {
u_int8_t enm_addrhi[ETHER_ADDR_LEN]; /* high or only address of range */
struct arpcom *enm_ac; /* back pointer to arpcom */
u_int enm_refcount; /* no. claims to this addr/range */
- LIST_ENTRY(struct ether_multi) enm_list;
+ LIST_ENTRY(ether_multi) enm_list;
};
/*
OpenPOWER on IntegriCloud