X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fdbstuff.h;h=2cbd8ca636324f14f437c5eaaba6115627ef630a;hb=89dec7b604c1d16d8762e99443ba7bf2a3086c21;hp=7c581ad29285ea8b8434e91613bd13d2fbb6ede8;hpb=059ec3d9952740285fb1ebf47961b8aca2eb1b4a;p=exim.git diff --git a/src/src/dbstuff.h b/src/src/dbstuff.h index 7c581ad29..2cbd8ca63 100644 --- a/src/src/dbstuff.h +++ b/src/src/dbstuff.h @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/dbstuff.h,v 1.1 2004/10/07 10:39:01 ph10 Exp $ */ +/* $Cambridge: exim/src/src/dbstuff.h,v 1.7 2007/08/29 14:02:22 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2004 */ +/* Copyright (c) University of Cambridge 1995 - 2007 */ /* See the file NOTICE for conditions of use and distribution. */ /* This header file contains macro definitions so that a variety of DBM @@ -135,7 +135,7 @@ API changed for DB 4.1. */ #define EXIM_DBOPEN(name, flags, mode, dbpp) \ if (db_create(dbpp, NULL, 0) != 0 || \ ((*dbpp)->set_errcall(*dbpp, dbfn_bdb_error_callback), \ - (*dbpp)->open(*dbpp, NULL, CS name, NULL, \ + ((*dbpp)->open)(*dbpp, NULL, CS name, NULL, \ ((flags) == O_RDONLY)? DB_UNKNOWN : DB_HASH, \ ((flags) == O_RDONLY)? DB_RDONLY : DB_CREATE, \ mode)) != 0) *(dbpp) = NULL @@ -143,7 +143,7 @@ API changed for DB 4.1. */ #define EXIM_DBOPEN(name, flags, mode, dbpp) \ if (db_create(dbpp, NULL, 0) != 0 || \ ((*dbpp)->set_errcall(*dbpp, dbfn_bdb_error_callback), \ - (*dbpp)->open(*dbpp, CS name, NULL, \ + ((*dbpp)->open)(*dbpp, CS name, NULL, \ ((flags) == O_RDONLY)? DB_UNKNOWN : DB_HASH, \ ((flags) == O_RDONLY)? DB_RDONLY : DB_CREATE, \ mode)) != 0) *(dbpp) = NULL @@ -363,8 +363,8 @@ after reading data. */ /* Basic DB type */ typedef struct { - GDBM_FILE gdbm; /* Database */ - datum lkey; /* Last key, for scans */ + GDBM_FILE gdbm; /* Database */ + datum lkey; /* Last key, for scans */ } EXIM_DB; /* Cursor type, not used with gdbm: just set up a dummy */ @@ -564,9 +564,11 @@ performed on them. There are two groups of records: 2. keyed by domain - Domain response upto MAIL FROM:<>, postmaster, random local part; -If a record exists, the result field is either ccache_accept or ccache_reject. -The other fields, however, (which are only relevant to domain records) may also -contain ccache_unknown if that particular test has not been done. +If a record exists, the result field is either ccache_accept or ccache_reject, +or, for a domain record only, ccache_reject_mfnull when MAIL FROM:<> was +rejected. The other fields, however, (which are only relevant to domain +records) may also contain ccache_unknown if that particular test has not been +done. Originally, there was only one structure, used for both types. However, it got expanded for domain records, so it got split. To make it possible for Exim to @@ -631,4 +633,15 @@ typedef struct { } dbdata_serialize; +/* This structure records the information required for the ratelimit +ACL condition. */ + +typedef struct { + time_t time_stamp; + /*************/ + int time_usec; /* Fractional part of time, from gettimeofday() */ + double rate; /* Smoothed sending rate at that time */ +} dbdata_ratelimit; + + /* End of dbstuff.h */