Skip to content
Snippets Groups Projects
Commit 47d27351 authored by tewk's avatar tewk
Browse files

Added slurm_stream_io_header type

changed credential.signature from a uint32_t to char[16]  128 signed sha1
parent 686ef40f
No related branches found
No related tags found
No related merge requests found
......@@ -166,6 +166,14 @@ typedef struct slurm_protocol_header
uint32_t body_length ;
} header_t ;
typedef struct slurm_stream_io_header
{
uint16_t version ; /*version/magic number*/
char key[16] ;
uint32_t task_id ;
uint16_t type ;
} slurm_stream_io_header ;
/* Job credential */
typedef struct slurm_job_credential
{
......@@ -173,7 +181,7 @@ typedef struct slurm_job_credential
uid_t user_id;
char* node_list;
time_t experation_time;
uint32_t signature; /* What are we going to do here? */
char signature[16]; /* What are we going to do here? */
} slurm_job_credential_t;
typedef struct slurm_msg
......
......@@ -66,6 +66,27 @@ void unpack_header ( header_t * header , char ** buffer , uint32_t * length )
unpack32 ( & header -> body_length , ( void ** ) buffer , length ) ;
}
void pack_stream_io_header ( slurm_stream_io_header * msg , void ** buffer , uint32_t * length )
{
assert ( msg != NULL );
pack16( msg->version, buffer, length ) ;
packmem( msg->key, 16 , buffer, length ) ;
pack32( msg->task_id, buffer, length ) ;
pack16( msg->type, buffer, length ) ;
}
void unpack_stream_io_header ( slurm_stream_io_header * msg , void ** buffer , uint32_t * length )
{
uint16_t uint16_tmp;
unpack16( & msg->version, buffer, length ) ;
unpackmem( msg->key, & uint16_tmp , buffer , length ) ;
unpack32( & msg->task_id, buffer, length ) ;
unpack16( & msg->type, buffer, length ) ;
}
/* pack_msg
* packs a slurm protocol mesg body
* header - the body structure to pack
......@@ -346,6 +367,9 @@ int unpack_update_node_msg ( update_node_msg_t ** msg , void ** buffer , uint32_
uint16_t uint16_tmp;
update_node_msg_t * tmp_ptr ;
/* alloc memory for structure */
assert ( msg != NULL );
tmp_ptr = xmalloc ( sizeof ( update_node_msg_t ) ) ;
if (tmp_ptr == NULL)
return ENOMEM;
......@@ -358,6 +382,8 @@ int unpack_update_node_msg ( update_node_msg_t ** msg , void ** buffer , uint32_
void pack_node_registration_status_msg ( slurm_node_registration_status_msg_t * msg, void ** buffer , uint32_t * length )
{
assert ( msg != NULL );
pack32 ( msg -> timestamp , ( void ** ) buffer , length ) ;
packstr ( msg -> node_name , ( void ** ) buffer , length ) ;
pack32 ( msg -> cpus , ( void ** ) buffer , length ) ;
......@@ -370,6 +396,9 @@ int unpack_node_registration_status_msg ( slurm_node_registration_status_msg_t *
uint16_t uint16_tmp;
slurm_node_registration_status_msg_t * node_reg_ptr ;
/* alloc memory for structure */
assert ( msg != NULL );
node_reg_ptr = xmalloc ( sizeof ( slurm_node_registration_status_msg_t ) ) ;
if (node_reg_ptr == NULL)
{
......@@ -389,6 +418,8 @@ int unpack_node_registration_status_msg ( slurm_node_registration_status_msg_t *
void pack_resource_allocation_response_msg ( resource_allocation_response_msg_t * msg, void ** buffer , int * length )
{
assert ( msg != NULL );
pack32 ( msg->job_id , ( void ** ) buffer , length ) ;
packstr ( msg->node_list , ( void ** ) buffer , length ) ;
pack16 ( msg->num_cpu_groups , ( void ** ) buffer , length ) ;
......@@ -400,6 +431,9 @@ int unpack_resource_allocation_response_msg ( resource_allocation_response_msg_t
{
uint16_t uint16_tmp;
resource_allocation_response_msg_t * tmp_ptr ;
assert ( msg != NULL );
/* alloc memory for structure */
tmp_ptr = xmalloc ( sizeof ( resource_allocation_response_msg_t ) ) ;
if (tmp_ptr == NULL)
......@@ -417,6 +451,8 @@ int unpack_resource_allocation_response_msg ( resource_allocation_response_msg_t
void pack_submit_response_msg ( submit_response_msg_t * msg, void ** buffer , int * length )
{
assert ( msg != NULL );
pack32 ( msg->job_id , ( void ** ) buffer , length ) ;
}
......@@ -424,6 +460,9 @@ int unpack_submit_response_msg ( submit_response_msg_t ** msg , void ** buffer ,
{
submit_response_msg_t * tmp_ptr ;
/* alloc memory for structure */
assert ( msg != NULL );
tmp_ptr = xmalloc ( sizeof ( submit_response_msg_t ) ) ;
if (tmp_ptr == NULL)
return ENOMEM;
......@@ -436,6 +475,7 @@ int unpack_submit_response_msg ( submit_response_msg_t ** msg , void ** buffer ,
void pack_node_info_msg ( slurm_msg_t * msg, void ** buf_ptr , int * buffer_size )
{
assert ( msg != NULL );
assert ( sizeof(*msg) == sizeof(slurm_msg_t) ) ;
assert ( buf_ptr != NULL && (*buf_ptr) != NULL ) ;
assert ( ( buffer_size ) != NULL ) ;
......@@ -451,6 +491,8 @@ int unpack_node_info_msg ( node_info_msg_t ** msg , void ** buf_ptr , int * buff
int i;
node_table_t *node;
assert ( msg != NULL );
*msg = xmalloc ( sizeof ( node_info_msg_t ) );
if ( *msg == NULL )
return ENOMEM ;
......@@ -472,18 +514,22 @@ int unpack_node_info_msg ( node_info_msg_t ** msg , void ** buf_ptr , int * buff
int unpack_node_table_msg ( node_table_msg_t ** node , void ** buf_ptr , int * buffer_size )
{
*node = xmalloc ( sizeof(node_table_t) );
if (node == NULL) {
return ENOMEM;
}
unpack_node_table ( *node , buf_ptr , buffer_size ) ;
return 0 ;
assert ( node != NULL );
*node = xmalloc ( sizeof(node_table_t) );
if (node == NULL) {
return ENOMEM;
}
unpack_node_table ( *node , buf_ptr , buffer_size ) ;
return 0 ;
}
int unpack_node_table ( node_table_msg_t * node , void ** buf_ptr , int * buffer_size )
{
uint16_t uint16_tmp;
assert ( node != NULL );
unpackstr_xmalloc (&node->name, &uint16_tmp, buf_ptr, buffer_size);
unpack16 (&node->node_state, buf_ptr, buffer_size);
unpack32 (&node->cpus, buf_ptr, buffer_size);
......@@ -518,6 +564,9 @@ unpack_update_partition_msg ( update_part_msg_t ** msg , void ** buffer, uint32_
{
uint16_t uint16_tmp;
update_part_msg_t * tmp_ptr ;
assert ( msg != NULL );
/* alloc memory for structure */
tmp_ptr = xmalloc ( sizeof ( update_part_msg_t ) ) ;
if (tmp_ptr == NULL)
......@@ -553,6 +602,9 @@ int unpack_job_step_create_request_msg ( job_step_create_request_msg_t** msg , v
uint16_t uint16_tmp;
job_step_create_request_msg_t * tmp_ptr ;
/* alloc memory for structure */
assert ( msg != NULL );
tmp_ptr = xmalloc ( sizeof ( job_step_create_request_msg_t ) ) ;
if (tmp_ptr == NULL)
return ENOMEM;
......@@ -576,7 +628,7 @@ void pack_job_credential ( slurm_job_credential_t* msg , void ** buffer , uint32
pack16( (uint16_t) msg->user_id, buffer, length ) ;
packstr( msg->node_list, buffer, length ) ;
pack32( msg->experation_time, buffer, length ) ;
pack32( msg->signature, buffer, length ) ;
packmem( msg->signature, 16 , buffer, length ) ;
}
int unpack_job_credential( slurm_job_credential_t** msg , void ** buffer , uint32_t * length )
......@@ -592,7 +644,7 @@ int unpack_job_credential( slurm_job_credential_t** msg , void ** buffer , uint3
unpack16( (uint16_t*) &(tmp_ptr->user_id), buffer, length ) ;
unpackstr_xmalloc ( &(tmp_ptr->node_list), &uint16_tmp, ( void ** ) buffer , length ) ;
unpack32( (uint32_t*) &(tmp_ptr->experation_time), buffer, length ) ; /* What are we going to do about time_t ? */
unpack32( &(tmp_ptr->signature), buffer, length ) ;
unpackmem( tmp_ptr->signature, 16 , buffer, length ) ;
*msg = tmp_ptr;
return 0;
......
......@@ -18,12 +18,14 @@
/* Pack / Unpack methods for slurm protocol header */
void pack_header ( header_t * header , char ** buffer , uint32_t * length );
void unpack_header ( header_t * header , char ** buffer , uint32_t * length );
/* Pack / Unpack methods for slurm io pipe streams header */
void pack_stream_io_header ( slurm_stream_io_header * msg , void ** buffer , uint32_t * length ) ;
void unpack_stream_io_header ( slurm_stream_io_header * msg , void ** buffer , uint32_t * length ) ;
/* generic case statement Pack / Unpack methods for slurm protocol bodies */
int pack_msg ( slurm_msg_t const * msg , char ** buffer , uint32_t * buf_len );
int unpack_msg ( slurm_msg_t * msgi , char ** buffer , uint32_t * buf_len );
/* specific Pack / Unpack methods for slurm protocol bodies */
......@@ -39,6 +41,7 @@ int unpack_last_update ( last_update_msg_t ** msg , void ** buffer , uint32_t *
void pack_job_step_create_request_msg ( job_step_create_request_msg_t* msg , void ** buffer , uint32_t * length );
int unpack_job_step_create_request_msg ( job_step_create_request_msg_t** msg , void ** buffer , uint32_t * length );
void pack_job_step_create_response_msg ( job_step_create_response_msg_t* msg , void ** buffer , uint32_t * length );
int unpack_job_step_create_response_msg (job_step_create_response_msg_t** msg , void ** buffer , uint32_t * length );
......@@ -65,8 +68,10 @@ int unpack_node_table ( node_table_msg_t * node , void ** buf_ptr , int * buffer
void pack_cancel_job_msg ( job_id_msg_t * msg , void ** buffer , uint32_t * length );
int unpack_cancel_job_msg ( job_id_msg_t ** msg_ptr , void ** buffer , uint32_t * length );
void pack_cancel_job_step_msg ( job_step_id_msg_t * msg , void ** buffer , uint32_t * length );
int unpack_cancel_job_step_msg ( job_step_id_msg_t ** msg_ptr , void ** buffer , uint32_t * length );
void pack_cancel_tasks_msg ( kill_tasks_msg_t * msg , void ** buffer , uint32_t * length );
int unpack_cancel_tasks_msg ( kill_tasks_msg_t ** msg_ptr , void ** buffer , uint32_t * length );
......@@ -81,6 +86,7 @@ int unpack_update_node_msg ( update_node_msg_t ** msg , void ** buffer , uint32_
void pack_partition_table_msg ( partition_desc_msg_t * msg , void ** buffer , int * buf_len );
int unpack_partition_table_msg ( partition_desc_msg_t ** msg_ptr , void ** buffer , int * buf_len );
void pack_update_partition_msg ( update_part_msg_t * msg , void ** buffer, uint32_t * length );
int unpack_update_partition_msg ( update_part_msg_t ** msg_ptr , void ** buffer, uint32_t * length );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment