Linux Container Development
 help / color / mirror / Atom feed
From: Oren Laadan <orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
To: Matt Helsley <matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: [PATCH 4/4] Add cpp definitions for enums
Date: Wed, 14 Oct 2009 18:35:26 -0400	[thread overview]
Message-ID: <4AD6522E.3080006@librato.com> (raw)
In-Reply-To: <1255481585-32625-4-git-send-email-matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>


Hmm... this will be painful when folding the patches into a clean
ckpt-v19 patchset :(

Anyway .. pulled.

Matt Helsley wrote:
> This allows us to test for the enums in cpp expressions.
> 
> Signed-off-by: Matt Helsley <matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> 
> Here's a convenient vim expression to help process enum blocks. Move
> your cursor into the enum block and enter the following ex command:
> 
> .,/^};/s/CKPT_\([^[:space:]=]*\)\(.*,.*\)[[:space:]]*$/CKPT_\1\2\r#define CKPT_\1 CKPT_\1/gc
> 
> It looks for CKPT_* enums and prompty to ask if you wish to add #define
> lines for each one.
> ---
>  arch/x86/include/asm/checkpoint_hdr.h |    2 +
>  include/linux/checkpoint_hdr.h        |   97 ++++++++++++++++++++++++++++++++-
>  2 files changed, 97 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/include/asm/checkpoint_hdr.h b/arch/x86/include/asm/checkpoint_hdr.h
> index 7a24de5..d586e76 100644
> --- a/arch/x86/include/asm/checkpoint_hdr.h
> +++ b/arch/x86/include/asm/checkpoint_hdr.h
> @@ -45,7 +45,9 @@
>  /* arch dependent header types */
>  enum {
>  	CKPT_HDR_CPU_FPU = 201,
> +#define CKPT_HDR_CPU_FPU CKPT_HDR_CPU_FPU
>  	CKPT_HDR_MM_CONTEXT_LDT,
> +#define CKPT_HDR_MM_CONTEXT_LDT CKPT_HDR_MM_CONTEXT_LDT
>  };
>  
>  /* arch dependent constants */
> diff --git a/include/linux/checkpoint_hdr.h b/include/linux/checkpoint_hdr.h
> index b5f958e..8dd60c1 100644
> --- a/include/linux/checkpoint_hdr.h
> +++ b/include/linux/checkpoint_hdr.h
> @@ -56,72 +56,124 @@ struct ckpt_hdr {
>  /* header types */
>  enum {
>  	CKPT_HDR_HEADER = 1,
> +#define CKPT_HDR_HEADER CKPT_HDR_HEADER
>  	CKPT_HDR_HEADER_ARCH,
> +#define CKPT_HDR_HEADER_ARCH CKPT_HDR_HEADER_ARCH
>  	CKPT_HDR_BUFFER,
> +#define CKPT_HDR_BUFFER CKPT_HDR_BUFFER
>  	CKPT_HDR_STRING,
> +#define CKPT_HDR_STRING CKPT_HDR_STRING
>  	CKPT_HDR_OBJREF,
> +#define CKPT_HDR_OBJREF CKPT_HDR_OBJREF
>  
>  	CKPT_HDR_TREE = 101,
> +#define CKPT_HDR_TREE CKPT_HDR_TREE
>  	CKPT_HDR_TASK,
> +#define CKPT_HDR_TASK CKPT_HDR_TASK
>  	CKPT_HDR_TASK_NS,
> +#define CKPT_HDR_TASK_NS CKPT_HDR_TASK_NS
>  	CKPT_HDR_TASK_OBJS,
> +#define CKPT_HDR_TASK_OBJS CKPT_HDR_TASK_OBJS
>  	CKPT_HDR_RESTART_BLOCK,
> +#define CKPT_HDR_RESTART_BLOCK CKPT_HDR_RESTART_BLOCK
>  	CKPT_HDR_THREAD,
> +#define CKPT_HDR_THREAD CKPT_HDR_THREAD
>  	CKPT_HDR_CPU,
> +#define CKPT_HDR_CPU CKPT_HDR_CPU
>  	CKPT_HDR_NS,
> +#define CKPT_HDR_NS CKPT_HDR_NS
>  	CKPT_HDR_UTS_NS,
> +#define CKPT_HDR_UTS_NS CKPT_HDR_UTS_NS
>  	CKPT_HDR_IPC_NS,
> +#define CKPT_HDR_IPC_NS CKPT_HDR_IPC_NS
>  	CKPT_HDR_CAPABILITIES,
> +#define CKPT_HDR_CAPABILITIES CKPT_HDR_CAPABILITIES
>  	CKPT_HDR_USER_NS,
> +#define CKPT_HDR_USER_NS CKPT_HDR_USER_NS
>  	CKPT_HDR_CRED,
> +#define CKPT_HDR_CRED CKPT_HDR_CRED
>  	CKPT_HDR_USER,
> +#define CKPT_HDR_USER CKPT_HDR_USER
>  	CKPT_HDR_GROUPINFO,
> +#define CKPT_HDR_GROUPINFO CKPT_HDR_GROUPINFO
>  	CKPT_HDR_TASK_CREDS,
> +#define CKPT_HDR_TASK_CREDS CKPT_HDR_TASK_CREDS
>  
>  	/* 201-299: reserved for arch-dependent */
>  
>  	CKPT_HDR_FILE_TABLE = 301,
> +#define CKPT_HDR_FILE_TABLE CKPT_HDR_FILE_TABLE
>  	CKPT_HDR_FILE_DESC,
> +#define CKPT_HDR_FILE_DESC CKPT_HDR_FILE_DESC
>  	CKPT_HDR_FILE_NAME,
> +#define CKPT_HDR_FILE_NAME CKPT_HDR_FILE_NAME
>  	CKPT_HDR_FILE,
> +#define CKPT_HDR_FILE CKPT_HDR_FILE
>  	CKPT_HDR_PIPE_BUF,
> +#define CKPT_HDR_PIPE_BUF CKPT_HDR_PIPE_BUF
>  	CKPT_HDR_TTY,
> +#define CKPT_HDR_TTY CKPT_HDR_TTY
>  	CKPT_HDR_TTY_LDISC,
> +#define CKPT_HDR_TTY_LDISC CKPT_HDR_TTY_LDISC
>  
>  	CKPT_HDR_MM = 401,
> +#define CKPT_HDR_MM CKPT_HDR_MM
>  	CKPT_HDR_VMA,
> +#define CKPT_HDR_VMA CKPT_HDR_VMA
>  	CKPT_HDR_PGARR,
> +#define CKPT_HDR_PGARR CKPT_HDR_PGARR
>  	CKPT_HDR_MM_CONTEXT,
> +#define CKPT_HDR_MM_CONTEXT CKPT_HDR_MM_CONTEXT
>  
>  	CKPT_HDR_IPC = 501,
> +#define CKPT_HDR_IPC CKPT_HDR_IPC
>  	CKPT_HDR_IPC_SHM,
> +#define CKPT_HDR_IPC_SHM CKPT_HDR_IPC_SHM
>  	CKPT_HDR_IPC_MSG,
> +#define CKPT_HDR_IPC_MSG CKPT_HDR_IPC_MSG
>  	CKPT_HDR_IPC_MSG_MSG,
> +#define CKPT_HDR_IPC_MSG_MSG CKPT_HDR_IPC_MSG_MSG
>  	CKPT_HDR_IPC_SEM,
> +#define CKPT_HDR_IPC_SEM CKPT_HDR_IPC_SEM
>  
>  	CKPT_HDR_SIGHAND = 601,
> +#define CKPT_HDR_SIGHAND CKPT_HDR_SIGHAND
>  	CKPT_HDR_SIGNAL,
> +#define CKPT_HDR_SIGNAL CKPT_HDR_SIGNAL
>  	CKPT_HDR_SIGNAL_TASK,
> +#define CKPT_HDR_SIGNAL_TASK CKPT_HDR_SIGNAL_TASK
>  	CKPT_HDR_SIGPENDING,
> +#define CKPT_HDR_SIGPENDING CKPT_HDR_SIGPENDING
>  
>  	CKPT_HDR_SOCKET = 701,
> +#define CKPT_HDR_SOCKET CKPT_HDR_SOCKET
>  	CKPT_HDR_SOCKET_QUEUE,
> +#define CKPT_HDR_SOCKET_QUEUE CKPT_HDR_SOCKET_QUEUE
>  	CKPT_HDR_SOCKET_BUFFER,
> +#define CKPT_HDR_SOCKET_BUFFER CKPT_HDR_SOCKET_BUFFER
>  	CKPT_HDR_SOCKET_UNIX,
> +#define CKPT_HDR_SOCKET_UNIX CKPT_HDR_SOCKET_UNIX
>  	CKPT_HDR_SOCKET_INET,
> +#define CKPT_HDR_SOCKET_INET CKPT_HDR_SOCKET_INET
>  
>  	CKPT_HDR_TAIL = 9001,
> +#define CKPT_HDR_TAIL CKPT_HDR_TAIL
>  
>  	CKPT_HDR_ERROR = 9999,
> +#define CKPT_HDR_ERROR CKPT_HDR_ERROR
>  };
>  
>  /* architecture */
>  enum {
>  	/* do not change order (will break ABI) */
>  	CKPT_ARCH_X86_32 = 1,
> +#define CKPT_ARCH_X86_32 CKPT_ARCH_X86_32
>  	CKPT_ARCH_S390X,
> +#define CKPT_ARCH_S390X CKPT_ARCH_S390X
>  	CKPT_ARCH_PPC32,
> +#define CKPT_ARCH_PPC32 CKPT_ARCH_PPC32
>  	CKPT_ARCH_PPC64,
> +#define CKPT_ARCH_PPC64 CKPT_ARCH_PPC64
>  };
>  
>  /* shared objrects (objref) */
> @@ -134,22 +186,39 @@ struct ckpt_hdr_objref {
>  /* shared objects types */
>  enum obj_type {
>  	CKPT_OBJ_IGNORE = 0,
> +#define CKPT_OBJ_IGNORE CKPT_OBJ_IGNORE
>  	CKPT_OBJ_INODE,
> +#define CKPT_OBJ_INODE CKPT_OBJ_INODE
>  	CKPT_OBJ_FILE_TABLE,
> +#define CKPT_OBJ_FILE_TABLE CKPT_OBJ_FILE_TABLE
>  	CKPT_OBJ_FILE,
> +#define CKPT_OBJ_FILE CKPT_OBJ_FILE
>  	CKPT_OBJ_MM,
> +#define CKPT_OBJ_MM CKPT_OBJ_MM
>  	CKPT_OBJ_SIGHAND,
> +#define CKPT_OBJ_SIGHAND CKPT_OBJ_SIGHAND
>  	CKPT_OBJ_SIGNAL,
> +#define CKPT_OBJ_SIGNAL CKPT_OBJ_SIGNAL
>  	CKPT_OBJ_NS,
> +#define CKPT_OBJ_NS CKPT_OBJ_NS
>  	CKPT_OBJ_UTS_NS,
> +#define CKPT_OBJ_UTS_NS CKPT_OBJ_UTS_NS
>  	CKPT_OBJ_IPC_NS,
> +#define CKPT_OBJ_IPC_NS CKPT_OBJ_IPC_NS
>  	CKPT_OBJ_USER_NS,
> +#define CKPT_OBJ_USER_NS CKPT_OBJ_USER_NS
>  	CKPT_OBJ_CRED,
> +#define CKPT_OBJ_CRED CKPT_OBJ_CRED
>  	CKPT_OBJ_USER,
> +#define CKPT_OBJ_USER CKPT_OBJ_USER
>  	CKPT_OBJ_GROUPINFO,
> +#define CKPT_OBJ_GROUPINFO CKPT_OBJ_GROUPINFO
>  	CKPT_OBJ_SOCK,
> +#define CKPT_OBJ_SOCK CKPT_OBJ_SOCK
>  	CKPT_OBJ_TTY,
> +#define CKPT_OBJ_TTY CKPT_OBJ_TTY
>  	CKPT_OBJ_MAX
> +#define CKPT_OBJ_MAX CKPT_OBJ_MAX
>  };
>  
>  /* kernel constants */
> @@ -354,12 +423,19 @@ struct ckpt_hdr_restart_block {
>  
>  enum restart_block_type {
>  	CKPT_RESTART_BLOCK_NONE = 1,
> +#define CKPT_RESTART_BLOCK_NONE CKPT_RESTART_BLOCK_NONE
>  	CKPT_RESTART_BLOCK_HRTIMER_NANOSLEEP,
> +#define CKPT_RESTART_BLOCK_HRTIMER_NANOSLEEP CKPT_RESTART_BLOCK_HRTIMER_NANOSLEEP
>  	CKPT_RESTART_BLOCK_POSIX_CPU_NANOSLEEP,
> +#define CKPT_RESTART_BLOCK_POSIX_CPU_NANOSLEEP CKPT_RESTART_BLOCK_POSIX_CPU_NANOSLEEP
>  	CKPT_RESTART_BLOCK_COMPAT_NANOSLEEP,
> +#define CKPT_RESTART_BLOCK_COMPAT_NANOSLEEP CKPT_RESTART_BLOCK_COMPAT_NANOSLEEP
>  	CKPT_RESTART_BLOCK_COMPAT_CLOCK_NANOSLEEP,
> +#define CKPT_RESTART_BLOCK_COMPAT_CLOCK_NANOSLEEP CKPT_RESTART_BLOCK_COMPAT_CLOCK_NANOSLEEP
>  	CKPT_RESTART_BLOCK_POLL,
> -	CKPT_RESTART_BLOCK_FUTEX
> +#define CKPT_RESTART_BLOCK_POLL CKPT_RESTART_BLOCK_POLL
> +	CKPT_RESTART_BLOCK_FUTEX,
> +#define CKPT_RESTART_BLOCK_FUTEX CKPT_RESTART_BLOCK_FUTEX
>  };
>  
>  /* file system */
> @@ -378,12 +454,19 @@ struct ckpt_hdr_file_desc {
>  
>  enum file_type {
>  	CKPT_FILE_IGNORE = 0,
> +#define CKPT_FILE_IGNORE CKPT_FILE_IGNORE
>  	CKPT_FILE_GENERIC,
> +#define CKPT_FILE_GENERIC CKPT_FILE_GENERIC
>  	CKPT_FILE_PIPE,
> +#define CKPT_FILE_PIPE CKPT_FILE_PIPE
>  	CKPT_FILE_FIFO,
> +#define CKPT_FILE_FIFO CKPT_FILE_FIFO
>  	CKPT_FILE_SOCKET,
> +#define CKPT_FILE_SOCKET CKPT_FILE_SOCKET
>  	CKPT_FILE_TTY,
> +#define CKPT_FILE_TTY CKPT_FILE_TTY
>  	CKPT_FILE_MAX
> +#define CKPT_FILE_MAX CKPT_FILE_MAX
>  };
>  
>  /* file objects */
> @@ -503,15 +586,25 @@ struct ckpt_hdr_mm {
>  /* vma subtypes - index into restore_vma_dispatch[] */
>  enum vma_type {
>  	CKPT_VMA_IGNORE = 0,
> +#define CKPT_VMA_IGNORE CKPT_VMA_IGNORE
>  	CKPT_VMA_VDSO,		/* special vdso vma */
> +#define CKPT_VMA_VDSO CKPT_VMA_VDSO
>  	CKPT_VMA_ANON,		/* private anonymous */
> +#define CKPT_VMA_ANON CKPT_VMA_ANON
>  	CKPT_VMA_FILE,		/* private mapped file */
> +#define CKPT_VMA_FILE CKPT_VMA_FILE
>  	CKPT_VMA_SHM_ANON,	/* shared anonymous */
> +#define CKPT_VMA_SHM_ANON CKPT_VMA_SHM_ANON
>  	CKPT_VMA_SHM_ANON_SKIP,	/* shared anonymous (skip contents) */
> +#define CKPT_VMA_SHM_ANON_SKIP CKPT_VMA_SHM_ANON_SKIP
>  	CKPT_VMA_SHM_FILE,	/* shared mapped file, only msync */
> +#define CKPT_VMA_SHM_FILE CKPT_VMA_SHM_FILE
>  	CKPT_VMA_SHM_IPC,	/* shared sysvipc */
> +#define CKPT_VMA_SHM_IPC CKPT_VMA_SHM_IPC
>  	CKPT_VMA_SHM_IPC_SKIP,	/* shared sysvipc (skip contents) */
> -	CKPT_VMA_MAX,
> +#define CKPT_VMA_SHM_IPC_SKIP CKPT_VMA_SHM_IPC_SKIP
> +	CKPT_VMA_MAX
> +#define CKPT_VMA_MAX CKPT_VMA_MAX
>  };
>  
>  /* vma descriptor */

      parent reply	other threads:[~2009-10-14 22:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-14  0:53 [PATCH 4/4] Add cpp definitions for enums Matt Helsley
     [not found] ` <1255481585-32625-4-git-send-email-matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-10-14 22:35   ` Oren Laadan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AD6522E.3080006@librato.com \
    --to=orenl-rdfvbdnroixbdgjk7y7tuq@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox