⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msig.h

📁 彩信MMS的全部代码
💻 H
字号:
/*
 * Copyright (C) Obigo AB, 2002-2005.
 * All rights reserved.
 *
 * This software is covered by the license agreement between
 * the end user and Obigo AB, and may be 
 * used and copied only in accordance with the terms of the 
 * said agreement.
 *
 * Obigo AB assumes no responsibility or 
 * liability for any errors or inaccuracies in this software, 
 * or any consequential, incidental or indirect damage arising
 * out of the use of the software.
 *
 */
















#ifndef _MSIG_H
#define _MSIG_H









typedef enum
{
    M_FSM_MMH_COPY,           
    M_FSM_MMH_CREATE,         
    M_FSM_MMH_FETCH,          
    M_FSM_MMH_IMPORT,         
    M_FSM_MSR_SEND,           
    M_FSM_MSR_RECEIVE,        
    M_FSM_MSR_NOTIFY,         
    M_FSM_COH_WAP,            
    M_FSM_COH_GET,            
    M_FSM_COH_PUSH_RECEIVE,   
    M_FSM_COH_POST,           
    M_FSM_CORE_CONFIG,        
    M_FSM_CORE_MAIN,          
    M_FSM_CREATE_SMIL,        
    M_FSM_SMIL_PARSE_HANDLER, 


    M_FSM_MAX_REGS            

} MmsStateMachine;




#define MMS_MAX_SIG_PER_FSM     100













typedef enum
{
    
    MMS_SIG_COMMON_BASE             = 10000,

    
    MMS_SIG_COMMON_TIMER_EXPIRED    = (MMS_SIG_COMMON_BASE + 1)
} MmsSignalId;

#define M_SIGNAL_SENDTO(d, sig) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), 0L, 0UL, 0UL, NULL)

#define M_SIGNAL_SENDTO_I(d, sig, i) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), (long)i, 0UL, 0UL, NULL)

#define M_SIGNAL_SENDTO_IU(d, sig, i, u) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), (long)(i), \
        (unsigned long)(u), 0UL, NULL)

#define M_SIGNAL_SENDTO_IUU(d, sig, i, u1, u2) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), (long)(i), \
        (unsigned long)(u1), (unsigned long)(u2), NULL)

#define M_SIGNAL_SENDTO_IUP(d, sig, i, u, p) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), (long)(i), \
        (unsigned long)(u), 0UL, (p))

#define M_SIGNAL_SENDTO_IUUP(d, sig, i, u1, u2, p) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), (long)(i), \
        (unsigned long)(u1), (unsigned long)(u2), (p))

#define M_SIGNAL_SENDTO_IP(d, sig, i, p) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), (long)(i), 0UL, \
        0UL, (p))

#define M_SIGNAL_SENDTO_U(d, sig, u) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), 0L, (unsigned long)(u), \
        0UL, NULL)

#define M_SIGNAL_SENDTO_UU(d, sig, u1, u2) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), 0L, \
        (unsigned long)(u1), (unsigned long)(u2), NULL)

#define M_SIGNAL_SENDTO_UUP(d, sig, u1, u2, p) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), 0L, \
        (unsigned long)(u1), (unsigned long)(u2), (p))

#define M_SIGNAL_SENDTO_UP(d, sig, u, p) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), 0L, \
        (unsigned long)(u), 0UL, (p))

#define M_SIGNAL_SENDTO_P(d, sig, p) \
    mSignalSendTo((MmsStateMachine)(d), (int)(sig), 0L, 0UL, 0UL, (p))




typedef struct MmsSignalStruct 
{
    struct MmsSignalStruct *next;       
    MmsStateMachine         dst;        
    int                     type;       
    long                    i_param;    
    unsigned long           u_param1;   
    unsigned long           u_param2;   
    void                   *p_param;    
} MmsSignal;




typedef void MSignalFunction (MmsSignal *);








void mSignalFlush(MmsStateMachine dst, int id, long i_param,
    unsigned long u_param1, unsigned long u_param2, const void *p_param);




void mSignalInit(void);




void mSignalTerminate(void);




void mSignalProcess(void);






int mSignalQueueIsEmpty(void);




void mSignalDelete(MmsSignal *sig);




void mSignalDeregister(MmsStateMachine dst);





void mSignalRegisterDst(MmsStateMachine dst, MSignalFunction *f);




MmsSignal *mSignalSendTo(MmsStateMachine dst, int sig, long i_param,
    unsigned long u_param1, unsigned long u_param2, void *p_param);




void mSignalPrepend(MmsSignal *sig);

#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -