]> www.infradead.org Git - users/dhowells/kafs-utils.git/log
users/dhowells/kafs-utils.git
11 years agoRemove unused files
David Howells [Thu, 3 Apr 2014 17:57:21 +0000 (18:57 +0100)]
Remove unused files

11 years agoMove to mostly asynchronous model and emit server side pieces
David Howells [Wed, 22 Jan 2014 00:55:24 +0000 (00:55 +0000)]
Move to mostly asynchronous model and emit server side pieces

Move to a mostly asynchronous model for sending and receiving RPC calls and
also emit server side pieces.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoAdd call to VL_ListAttribute() to test program and fix stuff
David Howells [Wed, 15 Jan 2014 13:49:36 +0000 (13:49 +0000)]
Add call to VL_ListAttribute() to test program and fix stuff

Fix the following things:

 (1) Calculation of iovecs for filling the reply data circular buffer from
     recvmsg().

 (2) Set the circular buffer tail pointer correctly when discarding extraneous
     data in the final reply decode phase when waiting for MSG_EOR.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Use the xg files as sources for rxgen
David Howells [Fri, 10 Jan 2014 01:44:40 +0000 (01:44 +0000)]
rxgen: Use the xg files as sources for rxgen

Use the Arla xg files rather than C headers as sources for the rxgen script.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoxg: More cleanups
David Howells [Fri, 10 Jan 2014 01:07:03 +0000 (01:07 +0000)]
xg: More cleanups

More cleanups to the xg files.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoxg: Reindent the xg files
David Howells [Fri, 10 Jan 2014 00:52:12 +0000 (00:52 +0000)]
xg: Reindent the xg files

Reindent the xg files to use tabs.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoxg: All integer types should be in terms of stdint
David Howells [Fri, 10 Jan 2014 00:39:44 +0000 (00:39 +0000)]
xg: All integer types should be in terms of stdint

All integer types should be in terms of stdint:

int8_t uint8_t
int16_t uint16_t
int32_t uint32_t
int64_t uint64_t

Long should not be used as it may be 32-bits or 64-bits.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoxg: Clean up Arla xg files
David Howells [Fri, 10 Jan 2014 00:13:10 +0000 (00:13 +0000)]
xg: Clean up Arla xg files

Clean up Arla xg files to remove CVS-isms and Arla-specific bits.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoImport the Arla XG files
David Howells [Fri, 10 Jan 2014 00:02:20 +0000 (00:02 +0000)]
Import the Arla XG files

Import the Arla XG files.  These are RxRPC RPC API definitions for rxgen to
turn into compilables.

They are licensed under the 3-clause BSD licence from Royal Institute of
Technology, Stockholm, Sweden, which is GPL-compatible.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoIntegrate the afs_xg.h contents back into afs.h and afs_vl.h
David Howells [Thu, 9 Jan 2014 15:59:50 +0000 (15:59 +0000)]
Integrate the afs_xg.h contents back into afs.h and afs_vl.h

Integrate the afs_xg.h contents back into afs.h and afs_vl.h and get rid of
the afs_xg.h file.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract C synchronous RPC func emitter
David Howells [Thu, 9 Jan 2014 14:59:13 +0000 (14:59 +0000)]
rxgen: Extract C synchronous RPC func emitter

Extract the code to emit C functions to perform synchronous RPC calls from the
main rxgen script and put into its own module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract C struct marshal/unmarshal code emitter
David Howells [Thu, 9 Jan 2014 14:55:10 +0000 (14:55 +0000)]
rxgen: Extract C struct marshal/unmarshal code emitter

Extract the code to emit the code to marshal/unmarshal C structures from the
main rxgen script and put into its own perl module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract py module emitter
David Howells [Thu, 9 Jan 2014 14:44:55 +0000 (14:44 +0000)]
rxgen: Extract py module emitter

Extract the code to emit the python module creation code from the main rxgen
script and put into its own perl module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Turn the py module emitter into a perl subroutine
David Howells [Thu, 9 Jan 2014 14:41:04 +0000 (14:41 +0000)]
rxgen: Turn the py module emitter into a perl subroutine

Turn the python module defining code emitter into a perl subroutine within the
main rxgen script.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract py wrapper type emitter
David Howells [Thu, 9 Jan 2014 14:33:21 +0000 (14:33 +0000)]
rxgen: Extract py wrapper type emitter

Extract the code to emit python wrapper types from the main rxgen script
and put into its own module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract py wrapper func emitter
David Howells [Thu, 9 Jan 2014 14:29:25 +0000 (14:29 +0000)]
rxgen: Extract py wrapper func emitter

Extract the code to emit python wrapper functions from the main rxgen script
and put into its own module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Make lists of constants, structs and funcs global
David Howells [Thu, 9 Jan 2014 14:49:29 +0000 (14:49 +0000)]
rxgen: Make lists of constants, structs and funcs global

Make lists of constants, structs and funcs global within the rxgen perl script
and any modules it uses.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Move rxgen.pl to its own dir
David Howells [Thu, 9 Jan 2014 13:50:07 +0000 (13:50 +0000)]
rxgen: Move rxgen.pl to its own dir

Move rxgen.pl to its own dir so that it can be split up.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoInitial code commit now that the VLDB lookup test python script works
David Howells [Wed, 8 Jan 2014 23:38:07 +0000 (23:38 +0000)]
Initial code commit now that the VLDB lookup test python script works

The rxgen.pl script takes a C header file, parses it for #defined constants,
structures declarations and synchronous RPC call function declarations and
emits the following:

- C functions to marshal/unmarshal structs.
- C functions to marshal func arguments and dispatch the request.
- C functions to unmarshal the replies.
- C functions to provide synchronous RPC calls matching the source.
- A python module containing:
  - Python types to wrap the structs.
  - Python methods to wrap the synchronous RPC calls.
  - Python constants to wrap the constants.

It cannot yet handle functions that deal in bulk types/lists of structs and
functions that take interpolated chunks of arbitrary data.

It also does not yet emit server-side parts or top layer of the asynchronous
client side stuff.

It requires python v3 and requires the AF_RXRPC socket family to be available
in the kernel.

A script called "vl-test.py" is included that can be used to test the
functionality.  Run without arguments, it will attempt to retrieve the
"afs.root" volume from the grand.central.org AFS cell.

The test script uses the DNS so may require a python3-dns package installing.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoInitial revision
David Howells [Wed, 8 Jan 2014 21:15:54 +0000 (21:15 +0000)]
Initial revision