C/C++标准的编码风格举例

http://www.bianceng.cn/Programming/cplus/200705/618.htm

filename.h

/*
**++
**  MODULE:        $RCSfile$
**            $Revision: 69805 $
**            $Date: 2006-06-13 07:02:41 -0700 (Tue, 13 Jun 2006) $
**
**  DESCRIPTION:    FIL - filename definitions
**
**  ENVIRONMENT:    UNIX/DOS
**
**  COPYRIGHT:        (c) 1990-1997 Staffware plc, All Rights Reserved.
**
**  MODIFICATION HISTORY:
**
**    $Log$
**    Revision 7.8  2006/06/13 14:02:41  mbarnett
**    CR18794 - Revert FNAMESIZE back to 28
**
**    Revision 7.7  2006/01/30 11:26:45Z  rhudson
**    CR18121 Correct REQID and CASENUM types
**    Revision 7.6  2005/10/21 10:15:10Z  SteveC
**    Automatically reintegrated (by autreint.ksh):
**    Re-integration form PODSTR1361: 1.288 --> 1.288.1.5
**    Revision 7.5.2.2  2005/08/30 07:48:08Z  SteveC
**    Integration from 1.283 --> 1.283.1.2
**    Revision 7.5.2.1  2004/08/16 11:08:04Z  SteveC
**    Duplicate revision
**    Revision 7.5  2004/08/16 11:08:04Z  RobertH
**    Automatically reintegrated (by autreint.ksh):
**    CR14960 Reint of linux changes
**    Revision 7.4.1.2  2004/08/13 14:46:59Z  RobertH
**    CR14960 Recorded that define is unsigned long
**    Revision 7.4.1.1  2003/09/10 08:46:00Z  RobertH
**    Duplicate revision
**    Revision 7.4  2003/09/10 08:46:00Z  SidA
**    CR14128 - FUNAMESIZE (46) not big enough for proc library XFR max size (70)
**    Revision 7.3  2002/01/09 13:02:26  SteveC
**    Automatically reintegrated (by autreint.ksh):
**    Reintegration from REINT_630 1.141.1.4
**    Revision 7.2.1.2  2002/01/03 11:56:49  SteveC
**    Integration from 1.101 --> 1.101.1.27 (PART I)
**    Revision 7.2.1.1  2001/07/06 15:23:33  SteveC
**    Duplicate revision
**    Revision 7.1.2.3  2001/06/08 09:25:55  AmolP
**    CR10020 - Commented out FILF_TABLESPACE.
**    Revision 7.1.2.2  2001/06/07 16:41:35  AmolP
**    CR10020 - Commented out FILF_PROTRAN and FILF_RST_PROTRAN
**    as these interfaces are removed.
**    Revision 7.1.2.1  2001/03/09 18:45:49  AmolP
**    Duplicate revision
**    Revision 2.25  2001/03/09 08:54:13  nick
**    Automated code tidying
**    Revision 2.24  2001/03/08 10:45:06  nick
**    Auto dead code removal
**    Revision 2.23  2000/07/13 15:22:13  steve
**    Automatically reintegrated (by autreint.ksh):
**    Integration from POD_STR_040_server branch.
**    Revision 2.22.2.2  2000/06/28 16:02:15  steve
**    CR9171 : Modify the bld_/brk_ functions in FILNAME.C to cope
**    with the NEW and OLD format PACK, MEMO and ATTACHMENT files.
**    This has been done for the POD/STR/040 project.
**    Revision 2.22.1.1  1998/12/22 11:36:40  steve
**    Duplicate revision
**    Revision 2.21  1998/10/19 10:26:08  steve
**    I247 Reintegration
**    Revision 2.20  1998/07/27 12:29:15  steve
**    I265 : Re-integration from spruce branch
**    Revision 2.19  1998/06/26 08:56:03  ian
**    CR7036 - FIL Re-integration
**    Revision 2.18.1.5  1998/05/30 09:01:16  ian
**    CR7036 - FIL Integration
**    Revision 2.18.1.4  1998/05/29 10:55:50  ian
**    CR7036 - FIL Integration
**    Revision 2.18.1.3  1998/05/08 14:58:42  ian
**    CR7036 - FIl Integration swinc stuff
**    Revision 2.18.1.2  1998/04/27 11:46:04  ben
**    Revision 2.18.1.1  1998/01/30 15:38:56  ben
**    Duplicate revision
**    Revision 2.17.1.2  1998/01/09 18:56:35  martin
**    CR6755 I225 Longnames integration from v2 Aspect work
**    Revision 2.17.1.1  1997/07/10 12:53:23  martin
**    Duplicate revision
**    Revision 1.2  1997/06/19 16:09:55  bruce
**    Revision 1.1  1997/06/13 11:42:29  joe
**    Initial revision
**
** VER    CH.REQ    WHO   WHEN    WHY
** ===    ======    ====  ========    ===============================
** 1        KJT   05/12/90    Initial Version    
** 2        IJD   18/05/93  Added FILF_UXREQS, FILF_SWERROR
**                and FILF_SWWARN.
** 3            IJD   22/06/93  Added FILF_TABLESPACE.
** 4    CR3299    SID   12/07/93    Added FILF_S4WPERMSCHK    
** 5    CR3300    CJED  12-07-93    Added FILF_GWDFILE    
** 6    CR3337    GR    12-08-93  Added FILF_BGLOG, FILF_SHUTUSER
** 7    CR4008    CJED  07-07-94    Added FILF_TSWDIR, FILF_THOME
** 8    CR5823    IJD   04/07/97    Added FILF_ODBCERR.
** 9    CR5651    SAC    18-11-96 I225 LONG_USER_NODE_NAME
** 10    CR7287    SAC    14-07-98 PID file addition interfaces    
** ============================================================
**--
*/

#ifndef __filname__
#define __filname__

/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
/* NB     No Code Outside filname.c Should Refer to the fields    */
/*    within These Structures!                */
/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

/* CR5651 SAC : LONG_USER_NODE_NAME - Increase */
#ifdef LONG_USER_NODE_NAME    /* I225 */
/* SID CR14128 FUNAMESIZE utb 46 - nowhere big enouhg for possible 65 char library name.xfr files! */
#define FUNAMESIZE        70
/* CR18794 MAB 13/06/2006 - Undo CR16956 which increased this to 40 thus breaking existing products
 * not build against the latest code.   Found another solution for CR16956
 */
#define FNAMESIZE        28
#define    FPATHSIZE        256
#else
#define FUNAMESIZE        30
#define FNAMESIZE        12
#define    FPATHSIZE        128
#endif /* I225 */

typedef struct
{
    char ufilename[FUNAMESIZE + 1];
} UFILNAME;
typedef UFILNAME SWFAR *LPUFILNAME;

typedef struct
{
    char filename[FNAMESIZE + 1];
} SFILNAME;
typedef SFILNAME SWFAR *LPSFILNAME;

typedef struct
{
    char filepath[FPATHSIZE + 1];
} FILNAME;
typedef FILNAME SWFAR *LPFILNAME;

typedef UCHR AUFILE[FUNAMESIZE + 1];
typedef UCHR AFILE[FNAMESIZE + 1];
typedef UCHR APATH[FPATHSIZE + 1];

typedef LPUCHR LPAUFILE;
typedef LPUCHR LPAFILE;
typedef LPUCHR LPAPATH;

/* SID 5.1.6 - Moved from prodata.c */
#define F_PACKTEMP "packtemp"

/* Literals for filename building: packfiles, memos, notepad files etc */
#define FIL_ALLPROCS        0
#define FIL_NOPROCS        -1

#define FIL_ALLCASES        0L

#define FIL_ALLDIRS        0
#define FIL_NODIRS        -1

#define FIL_ALLIDS        0
#define FIL_NOIDS        -1

#define FIL_ALLVERS        0

/* Literals for fixed file names (use with file_name()) */
#define FILF_SWDEFS        0
#define FILF_STAFFNET        1
#define FILF_STAFFS        2
#define FILF_STAFFDBS        3
#define FILF_STAFFUSR        4
#define FILF_STAFFINF        5
#define FILF_STAFFROL        6
#define FILF_STAFFP        7
#define FILF_PRO        8
#define FILF_LST        9
#define FILF_CCF        10
#define FILF_CDF        11
#define FILF_ATF        12
#define FILF_STAFFO        13
#define FILF_LOKEXT        14
/* CR6946 SAC : Moved to the end
#define FILF_MBOX        15
#define FILF_IBOX        16
*/
#define FILF_LIBOX        17
#define FILF_LOGBOX        18
#define FILF_NOD        19
#define FILF_STAFFDBG        20
#define FILF_STAFFIDX        21
#define FILF_SDPRO        22
#define FILF_SHUTDOWN        23
#define FILF_SLEEP        24
#define FILF_PAUSE        25
#define FILF_STAFFPMS        26
#define FILF_SWDBGMES        27
#define FILF_PEXMAIL        28
#define FILF_STAFFMAN        29
#define FILF_LICENCE        30
#define    FILF_TTBL        31
#define    FILF_SPH        32
#define    FILF_STAFFLCK        33
#define    FILF_STAFFLOK        34
/*
 * CR10020 amolp 05-05-2001
 * Commented out following definition as these interfaces are removed
 */
/*#define    FILF_PROTRAN        35*/
#define FILF_CMS        36
#define FILF_IFCMES        37
#define    FILF_ABOX        38
#define    FILF_PDB        39
#define    FILF_SELLIST        40
/*
 * CR10020 amolp 05-05-2001
 * Commented out following definition as these interfaces are removed
 */
/*#define    FILF_RST_PROTRAN    41*/
#define    FILF_ERMES        42
#define    FILF_XFR        43
#define    FILF_SWMEN        44
#define    FILF_TMPINF        45
#define FILF_TMPDBS        46
#define    FILF_TMPS        47
#define    FILF_UXREQS        48
#define    FILF_SWERROR        49
#define    FILF_SWWARN        50
/*
 * CR10020 amolp 05-05-2001
 * Commented out following definition as these interfaces are removed
 */
/*#define FILF_TABLESPACE        51*/
#define FILF_S4WPERMSCHK    52
#define FILF_GWDFILE        53
#define FILF_BGLOG        54
#define FILF_SHUTUSER        55
#define FILF_TSWDIR        56
#define FILF_THOME        57
#define FILF_INFERR        58
#define FILF_ORAERR        59
#define FILF_WARNFLG        60
/* CR5823 IJD 04/07/97 Added FILF_ODBCERR */
#define FILF_ODBCERR        61

#define    FILF_PROCORD        62
#define    FILF_CMDLOG        63

/* CR6946 SAC : New MBOX types */

/* standard priority MBOX */
#define    FILF_MBOX        64
#define    FILF_IBOX        (FILF_MBOX + 1)
#define    FILF_PBOX        (FILF_MBOX + 2)
#define    FILF_IBOX_CMT        (FILF_MBOX + 3)

/* highest priority MBOX */
#define    FILF_MBOX_INTERNAL    68
#define    FILF_IBOX_INTERNAL    (FILF_MBOX_INTERNAL + 1)
#define    FILF_PBOX_INTERNAL    (FILF_MBOX_INTERNAL + 2)
#define    FILF_IBOX_INTERNAL_CMT    (FILF_MBOX_INTERNAL + 3)

/* higher priority MBOX */
#define    FILF_MBOX_H1        72
#define    FILF_IBOX_H1        (FILF_MBOX_H1 + 1)
#define    FILF_PBOX_H1        (FILF_MBOX_H1 + 2)
#define    FILF_IBOX_H1_CMT    (FILF_MBOX_H1 + 3)

/* lower priority MBOX */
#define    FILF_MBOX_L1        76
#define    FILF_IBOX_L1        (FILF_MBOX_L1 + 1)
#define    FILF_PBOX_L1        (FILF_MBOX_L1 + 2)
#define    FILF_IBOX_L1_CMT    (FILF_MBOX_L1 + 3)

/* I245 ZJS Ben's Case Indexing stuff */
#define FILF_CIF        80
#define FILF_CIF_NEW        81

/* literal for seperate SWUSER IDX file on NT */
#define    FILF_STAFFIDX_PI    82    /* CR7049 ZJS 15/04/98 */

/* CR7287 SAC 14-07-98 : File containing PID's */
#define    FILF_SWPID        83

/* I247 SAC : File type for participation records */
#define    FILF_PARTIC        84

/* I247 SAC : File type for redirection records */
#define    FILF_REDIR        85

/* CR7712 IJD 13/11/98 Added FILF_RECOVERY */
#define FILF_RECOVERY        86


/* CR9983 ZJS 19/04/2001. Files required for CDQP POD/CUS/375 */
#define FILF_CDQPGLO        87
#define FILF_CDQPUSR        88
#define FILF_CDQPGRP        89
#define FILF_CDQPQ            90
#define FILF_CDQPCONFIG        91
/* CR9983 End */

/* CR10042 New file sw_notify for notification events */
#define FILF_SWNOTIFY        92


/* CR9171 SAC 27-06-00 : START */

/* structure to hold information extracted from the    */
/* filename passed in.  If no information could be found*/
/* then the entry will be '-1'.                */
typedef struct
{
    long pnum;
    SWCASENUM cnum;
    int id;
    long orec;
    int oreccount;
    SWREQID reqid;
    int version;
} FILNAME_INFO;
typedef FILNAME_INFO SWFAR *LPFILNAME_INFO;

/* returns from 'brk_name()' and 'brk_oldname()' to    */
/* indicate the type of file processed.            */
#define FILF_INVALID_FILE        0
#define    FILF_START_MEMO_FILE        1
#define    FILF_NORMAL_MEMO_FILE        2
#define FILF_CENTRAL_MEMO_FILE        3

#define FILF_START_PACK_FILE        4
#define FILF_NORMAL_PACK_FILE        5

#define FILF_CENTRAL_ATTACHMENT_FILE    6
#define FILF_NORMAL_ATTACHMENT_FILE    7

/* lengths for NEW and OLD format files */
#define FILF_OLD_FORMAT_FILE_LEN    8
#define FILF_NEW_FORMAT_FILE_LEN    10

/* lengths for NEW and OLD case numbers in files */
#define FILF_OLD_CNUM_LEN    4
#define FILF_NEW_CNUM_LEN    6

/* new size of base 40 for NEW format */
#define FILF_OLD_CNUM_BASE_40    2560000    /* 40^4 */
/* CR14960 Linux Port - record the fact that this is unsigned long */
/* Thats an LU (lu) after 4096000000 */
#define FILF_NEW_CNUM_BASE_40    4096000000lu    /* 40^6 */
/* CR9171 SAC 27-06-00 : END */

#endif



你可能感兴趣的:(C/C++标准的编码风格举例)