mf.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * mf.h
  3.  * Copyright (C) 2001  Troy D. Armstrong IBM Corporation
  4.  *
  5.  * This modules exists as an interface between a Linux secondary partition
  6.  * running on an iSeries and the primary partition's Virtual Service
  7.  * Processor (VSP) object.  The VSP has final authority over powering on/off
  8.  * all partitions in the iSeries.  It also provides miscellaneous low-level
  9.  * machine facility type operations.
  10.  *
  11.  * 
  12.  * This program is free software; you can redistribute it and/or modify
  13.  * it under the terms of the GNU General Public License as published by
  14.  * the Free Software Foundation; either version 2 of the License, or
  15.  * (at your option) any later version.
  16.  * 
  17.  * This program is distributed in the hope that it will be useful,
  18.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  * GNU General Public License for more details.
  21.  * 
  22.  * You should have received a copy of the GNU General Public License
  23.  * along with this program; if not, write to the Free Software
  24.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  25.  */
  26. #ifndef MF_H_INCLUDED
  27. #define MF_H_INCLUDED
  28. #include <asm/iSeries/HvTypes.h>
  29. #include <asm/iSeries/HvLpEvent.h>
  30. struct rtc_time;
  31. typedef void (*MFCompleteHandler)( void * clientToken, int returnCode );
  32. extern void mf_allocateLpEvents( HvLpIndex targetLp,
  33.  HvLpEvent_Type type,
  34.  unsigned size,
  35.  unsigned amount,
  36.  MFCompleteHandler hdlr,
  37.  void * userToken );
  38. extern void mf_deallocateLpEvents( HvLpIndex targetLp,
  39.    HvLpEvent_Type type,
  40.    unsigned count,
  41.    MFCompleteHandler hdlr,
  42.    void * userToken );
  43. extern void mf_powerOff( void );
  44. extern void mf_reboot( void );
  45. extern void mf_displaySrc( u32 word );
  46. extern void mf_displayProgress( u16 value );
  47. extern void mf_clearSrc( void );
  48. extern void mf_init( void );
  49. extern void mf_setSide(char side);
  50. extern char mf_getSide(void);
  51. extern void mf_setCmdLine(const char *cmdline, int size, u64 side);
  52. extern int  mf_getCmdLine(char *cmdline, int *size, u64 side);
  53. extern void mf_getSrcHistory(char *buffer, int size);
  54. extern int mf_setVmlinuxChunk(const char *buffer, int size, int offset, u64 side);
  55. extern int mf_getVmlinuxChunk(char *buffer, int *size, int offset, u64 side);
  56. extern int mf_setRtcTime(unsigned long time);
  57. extern int mf_getRtcTime(unsigned long *time);
  58. extern int mf_getRtc( struct rtc_time * tm );
  59. extern int mf_setRtc( struct rtc_time * tm );
  60. #endif /* MF_H_INCLUDED */